|
Blender V5.0
|
#include <eevee_light.hh>
Public Member Functions | |
| LightModule (Instance &inst) | |
| template<typename PassType> | |
| void | bind_resources (PassType &pass) |
LightModule | |
| ~LightModule () | |
| void | begin_sync () |
| void | sync_light (const Object *ob, ObjectHandle &handle) |
| void | end_sync () |
| void | set_view (View &view, const int2 extent) |
| void | debug_draw (View &view, gpu::FrameBuffer *view_fb) |
The light module manages light data buffers and light culling system.
Definition at line 120 of file eevee_light.hh.
|
inline |
Definition at line 178 of file eevee_light.hh.
| blender::eevee::LightModule::~LightModule | ( | ) |
Definition at line 343 of file eevee_light.cc.
| void blender::eevee::LightModule::begin_sync | ( | ) |
Definition at line 351 of file eevee_light.cc.
References blender::assign_if_different(), Light::b, DNA_default_table, ELEM, Light::energy, Light::g, blender::MatBase< float, 4, 4 >::identity(), LA_SHADOW, LA_SHADOW_JITTER, LA_SUN, blender::eevee::LIGHT_SUN, blender::eevee::LIGHT_SUN_ORTHO, max_ff(), Light::mode, Light::r, blender::dna::sdna_struct_id_get(), SET_FLAG_FROM_TEST, Light::shadow_filter_radius, Light::shadow_jitter_overblur, Light::shadow_maximum_resolution, Light::sun_angle, blender::eevee::Light::sync(), Light::type, and blender::eevee::Light::used.
|
inline |
Definition at line 192 of file eevee_light.hh.
References LIGHT_BUF_SLOT, LIGHT_CULL_BUF_SLOT, LIGHT_TILE_BUF_SLOT, and LIGHT_ZBIN_BUF_SLOT.
| void blender::eevee::LightModule::debug_draw | ( | View & | view, |
| gpu::FrameBuffer * | view_fb ) |
Definition at line 621 of file eevee_light.cc.
References blender::eevee::DEBUG_LIGHT_CULLING, GPU_framebuffer_bind(), and view.
| void blender::eevee::LightModule::end_sync | ( | ) |
Definition at line 429 of file eevee_light.cc.
References ceil_to_multiple_u(), CULLING_MAX_ITEM, blender::math::divide_ceil(), divide_ceil_u(), blender::eevee::is_sun_light(), LIGHT_CHUNK, blender::math::max(), max_ii(), min_ii(), and blender::eevee::Light::used.
Update acceleration structure for the given view.
Definition at line 605 of file eevee_light.cc.
References CULLING_ZBIN_COUNT, fabsf, and view.
| void blender::eevee::LightModule::sync_light | ( | const Object * | ob, |
| ObjectHandle & | handle ) |
Definition at line 401 of file eevee_light.cc.
References DRW_object_get_data_for_drawing(), blender::eevee::Light::initialized, blender::eevee::is_sun_light(), LA_SUN, Object::light_linking, blender::eevee::ObjectHandle::object_key, blender::eevee::BaseHandle::recalc, blender::eevee::Light::sync(), blender::eevee::Light::used, and Object::visibility_flag.