|
Blender V5.0
|
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 (const bool *stop=nullptr, bool *do_update=nullptr, float *progress=nullptr) |
Definition at line 44 of file eevee_lightcache.cc.
|
inline |
Definition at line 79 of file eevee_lightcache.cc.
References BLI_assert, BLI_thread_is_main(), DAG_EVAL_RENDER, DEG_graph_new(), GPU_use_main_context_workaround(), blender::Span< T >::size(), WM_system_gpu_context_create(), and wm_window_reset_drawable().
|
inline |
Definition at line 104 of file eevee_lightcache.cc.
References BLI_assert, BLI_thread_is_main(), and DEG_graph_free().
|
inline |
Called from worker thread.
Definition at line 146 of file eevee_lightcache.cc.
References BKE_lightprobe_grid_cache_frame_free(), BLI_time_sleep_ms(), DEG_evaluate_on_framechange(), DEG_get_evaluated(), DEG_graph_relations_update(), G, i, and lock.
|
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 116 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, i, Object::id, ID_RECALC_SHADING, ID_RECALC_SYNC_TO_EVAL, Object::lightprobe_cache, and lock.