From 974c0cc7b68da305a21c551c4298e38940e301ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Thu, 8 Jun 2017 21:48:50 +0200 Subject: Eevee: First commit of Probe support. --- source/blender/draw/engines/eevee/eevee_data.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'source/blender/draw/engines/eevee/eevee_data.c') 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); -- cgit v1.2.3