Blender V5.0
blender::eevee::SphereProbeAtlasCoord::LocationFinder Class Reference

#include <eevee_lightprobe.hh>

Public Member Functions

SphereProbeAtlasCoord
 LocationFinder (int allocated_layer_count, int subdivision_level)
void mark_space_used (const SphereProbeAtlasCoord &coord)
SphereProbeAtlasCoord first_free_spot () const
void print_debug () const

Detailed Description

Utility class to find a location in the probe atlas that can be used to store a new probe in a specified subdivision level.

The allocation space is subdivided in target subdivision level and is multi layered. A layer has (2 ^ subdivision_lvl) ^ 2 areas.

All allocated probe areas are then process and the candidate areas containing allocated probes are marked as occupied. The location finder then return the first available area.

Definition at line 98 of file eevee_lightprobe.hh.

Constructor & Destructor Documentation

◆ LocationFinder()

blender::eevee::SphereProbeAtlasCoord::LocationFinder::LocationFinder ( int allocated_layer_count,
int subdivision_level )

Definition at line 292 of file eevee_lightprobe.cc.

References square_i().

Member Function Documentation

◆ first_free_spot()

SphereProbeAtlasCoord blender::eevee::SphereProbeAtlasCoord::LocationFinder::first_free_spot ( ) const

Definition at line 327 of file eevee_lightprobe.cc.

References BLI_assert_unreachable, and result.

◆ mark_space_used()

◆ print_debug()

void blender::eevee::SphereProbeAtlasCoord::LocationFinder::print_debug ( ) const

Definition at line 343 of file eevee_lightprobe.cc.


The documentation for this class was generated from the following files: