|
Blender V4.3
|
Public Member Functions | |
| LightBake (Main *bmain, ViewLayer *view_layer, Scene *scene, Span< Object * > probes, bool run_as_job, std::string &report, int frame, int delay_ms=0) | |
| ~LightBake () | |
| void | update () |
| void | run (bool *stop=nullptr, bool *do_update=nullptr, float *progress=nullptr) |
Definition at line 45 of file eevee_lightcache.cc.
|
inline |
Definition at line 80 of file eevee_lightcache.cc.
References BLI_assert, BLI_thread_is_main(), blender::Vector< T, InlineBufferCapacity, Allocator >::fill(), GPU_use_main_context_workaround(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::Span< T >::size(), WM_system_gpu_context_create(), and wm_window_reset_drawable().
|
inline |
Definition at line 105 of file eevee_lightcache.cc.
References BLI_assert, BLI_thread_is_main(), and DEG_graph_free().
|
inline |
Called from worker thread.
Definition at line 147 of file eevee_lightcache.cc.
References BKE_lightprobe_grid_cache_frame_free(), BLI_time_sleep_ms(), DEG_evaluate_on_framechange(), DEG_get_evaluated_object(), DEG_graph_relations_update(), G, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::eevee::Instance::info_get(), blender::eevee::Instance::init_light_bake(), blender::eevee::Instance::light_bake_irradiance(), lock, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
|
inline |
Called from main thread. Copy result to original scene data. Note that since this is in the main thread, the viewport cannot be using the light cache. So there is no race condition here.
Definition at line 117 of file eevee_lightcache.cc.
References BKE_lightprobe_grid_cache_frame_free(), BLI_assert, BLI_thread_is_main(), DEG_id_tag_update(), LightProbeObjectCache::grid_static_cache, Object::id, ID_RECALC_SHADING, ID_RECALC_SYNC_TO_EVAL, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), Object::lightprobe_cache, and lock.