Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-06-08 22:48:50 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-06-09 02:15:17 +0300
commit974c0cc7b68da305a21c551c4298e38940e301ad (patch)
treeb714d69c7de01b73e84bf54ae0f390bc400f5d11 /source/blender/draw/engines/eevee/eevee_data.c
parentcadb950490871c51a6de5b5f538bac78a865b4e2 (diff)
Eevee: First commit of Probe support.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_data.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_data.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_data.c b/source/blender/draw/engines/eevee/eevee_data.c
index 66cb82ae277..514953f3d51 100644
--- a/source/blender/draw/engines/eevee/eevee_data.c
+++ b/source/blender/draw/engines/eevee/eevee_data.c
@@ -70,6 +70,13 @@ static void eevee_lamp_data_free(void *storage)
BLI_freelistN(&led->shadow_caster_list);
}
+static void eevee_probe_data_free(void *storage)
+{
+ EEVEE_ProbeEngineData *ped = (EEVEE_ProbeEngineData *)storage;
+
+ BLI_freelistN(&ped->captured_object_list);
+}
+
EEVEE_SceneLayerData *EEVEE_scene_layer_data_get(void)
{
EEVEE_SceneLayerData **sldata = (EEVEE_SceneLayerData **)DRW_scene_layer_engine_data_get(&draw_engine_eevee_type, &eevee_scene_layer_data_free);
@@ -92,6 +99,18 @@ EEVEE_ObjectEngineData *EEVEE_object_data_get(Object *ob)
return *oedata;
}
+EEVEE_ProbeEngineData *EEVEE_probe_data_get(Object *ob)
+{
+ EEVEE_ProbeEngineData **pedata = (EEVEE_ProbeEngineData **)DRW_object_engine_data_get(ob, &draw_engine_eevee_type, &eevee_probe_data_free);
+
+ if (*pedata == NULL) {
+ *pedata = MEM_callocN(sizeof(**pedata), "EEVEE_ProbeEngineData");
+ (*pedata)->need_update = true;
+ }
+
+ return *pedata;
+}
+
EEVEE_LampEngineData *EEVEE_lamp_data_get(Object *ob)
{
EEVEE_LampEngineData **ledata = (EEVEE_LampEngineData **)DRW_object_engine_data_get(ob, &draw_engine_eevee_type, &eevee_lamp_data_free);