|
Blender V4.3
|
#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 |
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 91 of file eevee_lightprobe.hh.
| blender::eevee::SphereProbeAtlasCoord::LocationFinder::LocationFinder | ( | int | allocated_layer_count, |
| int | subdivision_level ) |
Definition at line 295 of file eevee_lightprobe.cc.
References blender::bits::BitVector< InlineBufferCapacity, Allocator >::resize(), and square_i().
| SphereProbeAtlasCoord blender::eevee::SphereProbeAtlasCoord::LocationFinder::first_free_spot | ( | ) | const |
Definition at line 330 of file eevee_lightprobe.cc.
References BLI_assert_unreachable, result, and blender::eevee::SphereProbeAtlasCoord::subdivision_lvl.
| void blender::eevee::SphereProbeAtlasCoord::LocationFinder::mark_space_used | ( | const SphereProbeAtlasCoord & | coord | ) |
| void blender::eevee::SphereProbeAtlasCoord::LocationFinder::print_debug | ( | ) | const |
Definition at line 346 of file eevee_lightprobe.cc.