|
Blender V5.0
|
#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 98 of file eevee_lightprobe.hh.
| blender::eevee::SphereProbeAtlasCoord::LocationFinder::LocationFinder | ( | int | allocated_layer_count, |
| int | subdivision_level ) |
Definition at line 292 of file eevee_lightprobe.cc.
References square_i().
| SphereProbeAtlasCoord blender::eevee::SphereProbeAtlasCoord::LocationFinder::first_free_spot | ( | ) | const |
Definition at line 327 of file eevee_lightprobe.cc.
References BLI_assert_unreachable, and result.
| void blender::eevee::SphereProbeAtlasCoord::LocationFinder::mark_space_used | ( | const SphereProbeAtlasCoord & | coord | ) |
Definition at line 304 of file eevee_lightprobe.cc.
References blender::eevee::SphereProbeAtlasCoord::area_index, blender::eevee::SphereProbeAtlasCoord::area_location(), blender::eevee::SphereProbeAtlasCoord::atlas_layer, max_ii(), pos, blender::eevee::SphereProbeAtlasCoord::subdivision_lvl, x, and y.
| void blender::eevee::SphereProbeAtlasCoord::LocationFinder::print_debug | ( | ) | const |
Definition at line 343 of file eevee_lightprobe.cc.