Blender  V3.3
eevee_lightcache.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2018 Blender Foundation. */
3 
8 #pragma once
9 
10 #include "BLI_sys_types.h" /* for bool */
11 
12 struct BlendDataReader;
13 struct BlendWriter;
14 struct EEVEE_Data;
15 struct EEVEE_ViewLayerData;
16 struct LightCache;
17 struct Scene;
18 struct SceneEEVEE;
19 struct ViewLayer;
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
29  struct wmWindow *win,
30  struct Main *bmain,
31  struct ViewLayer *view_layer,
32  struct Scene *scene,
33  int delay,
34  int frame);
38 void *EEVEE_lightbake_job_data_alloc(struct Main *bmain,
39  struct ViewLayer *view_layer,
40  struct Scene *scene,
41  bool run_as_job,
42  int frame);
43 void EEVEE_lightbake_job_data_free(void *custom_data);
44 void EEVEE_lightbake_update(void *custom_data);
45 void EEVEE_lightbake_job(void *custom_data, short *stop, short *do_update, float *progress);
46 
52  struct EEVEE_Data *vedata,
53  const Scene *scene);
54 
59  int grid_len, int cube_len, int cube_size, int vis_size, const int irr_size[3]);
60 void EEVEE_lightcache_free(struct LightCache *lcache);
61 bool EEVEE_lightcache_load(struct LightCache *lcache);
62 void EEVEE_lightcache_info_update(struct SceneEEVEE *eevee);
63 
64 void EEVEE_lightcache_blend_write(struct BlendWriter *writer, struct LightCache *cache);
65 void EEVEE_lightcache_blend_read_data(struct BlendDataReader *reader, struct LightCache *cache);
66 
67 #ifdef __cplusplus
68 }
69 #endif
Scene scene
void * EEVEE_lightbake_job_data_alloc(struct Main *bmain, struct ViewLayer *view_layer, struct Scene *scene, bool run_as_job, int frame)
struct LightCache * EEVEE_lightcache_create(int grid_len, int cube_len, int cube_size, int vis_size, const int irr_size[3])
void EEVEE_lightcache_blend_write(struct BlendWriter *writer, struct LightCache *cache)
void EEVEE_lightbake_job(void *custom_data, short *stop, short *do_update, float *progress)
void EEVEE_lightcache_blend_read_data(struct BlendDataReader *reader, struct LightCache *cache)
struct wmJob * EEVEE_lightbake_job_create(struct wmWindowManager *wm, struct wmWindow *win, struct Main *bmain, struct ViewLayer *view_layer, struct Scene *scene, int delay, int frame)
void EEVEE_lightbake_update_world_quick(struct EEVEE_ViewLayerData *sldata, struct EEVEE_Data *vedata, const Scene *scene)
void EEVEE_lightcache_free(struct LightCache *lcache)
void EEVEE_lightbake_job_data_free(void *custom_data)
void EEVEE_lightcache_info_update(struct SceneEEVEE *eevee)
void EEVEE_lightbake_update(void *custom_data)
bool EEVEE_lightcache_load(struct LightCache *lcache)
Definition: BKE_main.h:121
Definition: wm_jobs.c:57
short do_update
Definition: wm_jobs.c:112
short stop
Definition: wm_jobs.c:112
float progress
Definition: wm_jobs.c:113
wmWindow * win
Definition: wm_jobs.c:61