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-03-26 21:13:34 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-03-27 15:01:47 +0300
commitdeda6a43fc710f30ceb9e3b30d1f8d79180fe8d1 (patch)
treecbe8c10668a697b47e5cbc219fef05ce24bceb60 /source/blender/draw/engines/eevee/eevee_private.h
parent7ee41920fa0b7ed51a03fe4ee15c6fd782d294a8 (diff)
Draw Engines: Make g_data struct part of the viewport storage
This makes viewport cache construction independant from each others and will allow multithread down the road.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_private.h')
-rw-r--r--source/blender/draw/engines/eevee/eevee_private.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h
index 4d8f697cc64..b81731a9188 100644
--- a/source/blender/draw/engines/eevee/eevee_private.h
+++ b/source/blender/draw/engines/eevee/eevee_private.h
@@ -50,6 +50,7 @@ typedef struct EEVEE_StorageList {
struct EEVEE_Light *lights_data; /* Array, Packed lights data info, duplication of what is in the Uniform Buffer in Vram */
struct Object **lights_ref; /* List of all lights in the buffer. */
struct GPUUniformBuffer *lights_ubo;
+ struct g_data *g_data;
} EEVEE_StorageList;
typedef struct EEVEE_LightsInfo {
@@ -64,6 +65,18 @@ typedef struct EEVEE_Data {
EEVEE_StorageList *stl;
} EEVEE_Data;
+typedef struct g_data{
+ struct DRWShadingGroup *default_lit_grp;
+ struct DRWShadingGroup *depth_shgrp;
+ struct DRWShadingGroup *depth_shgrp_select;
+ struct DRWShadingGroup *depth_shgrp_active;
+ struct DRWShadingGroup *depth_shgrp_cull;
+ struct DRWShadingGroup *depth_shgrp_cull_select;
+ struct DRWShadingGroup *depth_shgrp_cull_active;
+
+ struct ListBase lamps; /* Lamps gathered during cache iteration */
+} g_data; /* Transient data */
+
/* eevee_lights.c */
void EEVEE_lights_init(EEVEE_StorageList *stl);
void EEVEE_lights_cache_init(EEVEE_StorageList *stl);