diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-03-26 21:13:34 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-03-27 15:01:47 +0300 |
commit | deda6a43fc710f30ceb9e3b30d1f8d79180fe8d1 (patch) | |
tree | cbe8c10668a697b47e5cbc219fef05ce24bceb60 /source/blender/draw/engines/eevee/eevee_private.h | |
parent | 7ee41920fa0b7ed51a03fe4ee15c6fd782d294a8 (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.h | 13 |
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); |