diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-15 13:38:49 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-15 18:20:02 +0300 |
commit | e83cee73eba8b327cf9875684a6d77bf26ac4942 (patch) | |
tree | ea3ff6d488a1b9f0f8bc4f02885ee1b213b5ff3c /source/blender | |
parent | fe01430f74f1440827c3055bd1025b33302afd7b (diff) |
Draw manager: Pass object to hair batch cache
Currently unused, but is required for an upcoming work.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/draw/engines/basic/basic_engine.c | 2 | ||||
-rw-r--r-- | source/blender/draw/engines/clay/clay_engine.c | 2 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_materials.c | 2 | ||||
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_materials.c | 2 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache.c | 4 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache.h | 2 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl.h | 2 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_particles.c | 5 |
8 files changed, 12 insertions, 9 deletions
diff --git a/source/blender/draw/engines/basic/basic_engine.c b/source/blender/draw/engines/basic/basic_engine.c index fe368872d48..1a1a3bd7af4 100644 --- a/source/blender/draw/engines/basic/basic_engine.c +++ b/source/blender/draw/engines/basic/basic_engine.c @@ -159,7 +159,7 @@ static void basic_cache_populate(void *vedata, Object *ob) ParticleSettings *part = psys->part; const int draw_as = (part->draw_as == PART_DRAW_REND) ? part->ren_as : part->draw_as; if (draw_as == PART_DRAW_PATH) { - struct Gwn_Batch *hairs = DRW_cache_particles_get_hair(psys, NULL); + struct Gwn_Batch *hairs = DRW_cache_particles_get_hair(ob, psys, NULL); DRW_shgroup_call_add(stl->g_data->depth_shgrp, hairs, NULL); } } diff --git a/source/blender/draw/engines/clay/clay_engine.c b/source/blender/draw/engines/clay/clay_engine.c index 2be914cb234..78d2d7b344c 100644 --- a/source/blender/draw/engines/clay/clay_engine.c +++ b/source/blender/draw/engines/clay/clay_engine.c @@ -843,7 +843,7 @@ static void clay_cache_populate_particles(void *vedata, Object *ob) ParticleSettings *part = psys->part; const int draw_as = (part->draw_as == PART_DRAW_REND) ? part->ren_as : part->draw_as; if (draw_as == PART_DRAW_PATH) { - struct Gwn_Batch *geom = DRW_cache_particles_get_hair(psys, NULL); + struct Gwn_Batch *geom = DRW_cache_particles_get_hair(ob, psys, NULL); DRWShadingGroup *hair_shgrp = CLAY_hair_shgrp_get(vedata, ob, stl, psl); DRW_shgroup_call_add(hair_shgrp, geom, NULL); } diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index 44a117ab9d3..6f8b233d0ea 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -1490,7 +1490,7 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata, EEVEE_ViewLayerData *sld if (draw_as != PART_DRAW_PATH) { continue; } - struct Gwn_Batch *hair_geom = DRW_cache_particles_get_hair(psys, md); + struct Gwn_Batch *hair_geom = DRW_cache_particles_get_hair(ob, psys, md); DRWShadingGroup *shgrp = NULL; Material *ma = give_current_material(ob, part->omat); diff --git a/source/blender/draw/engines/workbench/workbench_materials.c b/source/blender/draw/engines/workbench/workbench_materials.c index 1013623260c..743f21eda30 100644 --- a/source/blender/draw/engines/workbench/workbench_materials.c +++ b/source/blender/draw/engines/workbench/workbench_materials.c @@ -506,7 +506,7 @@ static void workbench_cache_populate_particles(WORKBENCH_Data *vedata, Object *o unit_m4(mat); if (draw_as == PART_DRAW_PATH) { - struct Gwn_Batch *geom = DRW_cache_particles_get_hair(psys, NULL); + struct Gwn_Batch *geom = DRW_cache_particles_get_hair(ob, psys, NULL); WORKBENCH_MaterialData *material = get_or_create_material_data(vedata, ob, NULL, NULL, OB_SOLID); DRW_shgroup_call_add(material->shgrp, geom, mat); } diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c index 28153505051..639e4edb32f 100644 --- a/source/blender/draw/intern/draw_cache.c +++ b/source/blender/draw/intern/draw_cache.c @@ -2876,9 +2876,9 @@ Gwn_Batch *DRW_cache_lattice_vert_overlay_get(Object *ob) /** \name Particles * \{ */ -Gwn_Batch *DRW_cache_particles_get_hair(ParticleSystem *psys, ModifierData *md) +Gwn_Batch *DRW_cache_particles_get_hair(Object *object, ParticleSystem *psys, ModifierData *md) { - return DRW_particles_batch_cache_get_hair(psys, md); + return DRW_particles_batch_cache_get_hair(object, psys, md); } Gwn_Batch *DRW_cache_particles_get_dots(Object *object, ParticleSystem *psys) diff --git a/source/blender/draw/intern/draw_cache.h b/source/blender/draw/intern/draw_cache.h index 22117d71534..6848285706a 100644 --- a/source/blender/draw/intern/draw_cache.h +++ b/source/blender/draw/intern/draw_cache.h @@ -167,7 +167,7 @@ struct Gwn_Batch *DRW_cache_lattice_wire_get(struct Object *ob, bool use_weight) struct Gwn_Batch *DRW_cache_lattice_vert_overlay_get(struct Object *ob); /* Particles */ -struct Gwn_Batch *DRW_cache_particles_get_hair(struct ParticleSystem *psys, struct ModifierData *md); +struct Gwn_Batch *DRW_cache_particles_get_hair(struct Object *object, struct ParticleSystem *psys, struct ModifierData *md); struct Gwn_Batch *DRW_cache_particles_get_dots(struct Object *object, struct ParticleSystem *psys); struct Gwn_Batch *DRW_cache_particles_get_edit_strands(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit); struct Gwn_Batch *DRW_cache_particles_get_edit_inner_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit); diff --git a/source/blender/draw/intern/draw_cache_impl.h b/source/blender/draw/intern/draw_cache_impl.h index fd1a33452bc..7f745192f2f 100644 --- a/source/blender/draw/intern/draw_cache_impl.h +++ b/source/blender/draw/intern/draw_cache_impl.h @@ -123,7 +123,7 @@ struct Gwn_Batch *DRW_mesh_batch_cache_get_verts_with_select_id(struct Mesh *me, void DRW_mesh_cache_sculpt_coords_ensure(struct Mesh *me); /* Particles */ -struct Gwn_Batch *DRW_particles_batch_cache_get_hair(struct ParticleSystem *psys, struct ModifierData *md); +struct Gwn_Batch *DRW_particles_batch_cache_get_hair(struct Object *object, struct ParticleSystem *psys, struct ModifierData *md); struct Gwn_Batch *DRW_particles_batch_cache_get_dots(struct Object *object, struct ParticleSystem *psys); struct Gwn_Batch *DRW_particles_batch_cache_get_edit_strands(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit); struct Gwn_Batch *DRW_particles_batch_cache_get_edit_inner_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit); diff --git a/source/blender/draw/intern/draw_cache_impl_particles.c b/source/blender/draw/intern/draw_cache_impl_particles.c index 02aa03fa622..c8984ab01ec 100644 --- a/source/blender/draw/intern/draw_cache_impl_particles.c +++ b/source/blender/draw/intern/draw_cache_impl_particles.c @@ -615,7 +615,10 @@ static void particle_batch_cache_ensure_pos(Object *object, } } -Gwn_Batch *DRW_particles_batch_cache_get_hair(ParticleSystem *psys, ModifierData *md) +Gwn_Batch *DRW_particles_batch_cache_get_hair( + Object *UNUSED(object), + ParticleSystem *psys, + ModifierData *md) { ParticleBatchCache *cache = particle_batch_cache_get(psys); |