Blender V4.3
blender::eevee::LightBake Class Reference

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)
 

Detailed Description

Definition at line 45 of file eevee_lightcache.cc.

Constructor & Destructor Documentation

◆ LightBake()

blender::eevee::LightBake::LightBake ( Main * bmain,
ViewLayer * view_layer,
Scene * scene,
Span< Object * > probes,
bool run_as_job,
std::string & report,
int frame,
int delay_ms = 0 )
inline

◆ ~LightBake()

blender::eevee::LightBake::~LightBake ( )
inline

Definition at line 105 of file eevee_lightcache.cc.

References BLI_assert, BLI_thread_is_main(), and DEG_graph_free().

Member Function Documentation

◆ run()

◆ update()

void blender::eevee::LightBake::update ( )
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.


The documentation for this class was generated from the following file: