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_private.h
parentcadb950490871c51a6de5b5f538bac78a865b4e2 (diff)
Eevee: First commit of Probe support.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_private.h')
-rw-r--r--source/blender/draw/engines/eevee/eevee_private.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h
index 84c6de8593c..eb89ee999f4 100644
--- a/source/blender/draw/engines/eevee/eevee_private.h
+++ b/source/blender/draw/engines/eevee/eevee_private.h
@@ -48,6 +48,7 @@ typedef struct EEVEE_PassList {
/* Probes */
struct DRWPass *probe_background;
+ struct DRWPass *probe_meshes;
struct DRWPass *probe_prefilter;
struct DRWPass *probe_sh_compute;
@@ -166,14 +167,17 @@ enum {
/* ************ PROBE UBO ************* */
typedef struct EEVEE_Probe {
- float position[3], dist;
- float shcoefs[9][3], pad;
+ float position[3], pad1;
+ float shcoefs[9][3], pad2;
+ float attenuation_bias, attenuation_scale, pad3[2];
} EEVEE_Probe;
/* ************ PROBE DATA ************* */
typedef struct EEVEE_ProbesInfo {
int num_cube, cache_num_cube;
int update_flag;
+ /* Actual number of probes that have datas. */
+ int num_render_probe;
/* For rendering probes */
float probemat[6][4][4];
int layer;
@@ -285,6 +289,12 @@ typedef struct EEVEE_LampEngineData {
void *storage; /* either EEVEE_LightData, EEVEE_ShadowCubeData, EEVEE_ShadowCascadeData */
} EEVEE_LampEngineData;
+typedef struct EEVEE_ProbeEngineData {
+ bool need_update;
+ bool ready_to_shade;
+ struct ListBase captured_object_list;
+} EEVEE_ProbeEngineData;
+
typedef struct EEVEE_ObjectEngineData {
bool need_update;
} EEVEE_ObjectEngineData;
@@ -309,6 +319,7 @@ typedef struct EEVEE_PrivateData {
/* eevee_data.c */
EEVEE_SceneLayerData *EEVEE_scene_layer_data_get(void);
EEVEE_ObjectEngineData *EEVEE_object_data_get(Object *ob);
+EEVEE_ProbeEngineData *EEVEE_probe_data_get(Object *ob);
EEVEE_LampEngineData *EEVEE_lamp_data_get(Object *ob);