diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-08 14:55:23 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-09 11:34:45 +0300 |
commit | cf043d51c25736d1c64c67413c2e3b467654ede8 (patch) | |
tree | dd5f38478188c3c0aaeb220679e925398476916f /source | |
parent | 94553750c768ebf09ae5ca34b99f897a0ae0036f (diff) |
Draw manager: Make parent and child particles code to be more equal
Make parent UVs calculation for simple children to match another block.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_particles.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_particles.c b/source/blender/draw/intern/draw_cache_impl_particles.c index 351e3bf9e51..7082895e096 100644 --- a/source/blender/draw/intern/draw_cache_impl_particles.c +++ b/source/blender/draw/intern/draw_cache_impl_particles.c @@ -339,7 +339,7 @@ static void particle_batch_cache_ensure_pos_and_seg(ParticleSystem *psys, Modifi } else if (!parent_uvs[psys->child[i].parent]) { if (psmd != NULL) { - parent_uvs[psys->child[i].parent] = MEM_callocN(sizeof(*uv) * num_uv_layers, "Particle UVs"); + uv = parent_uvs[psys->child[i].parent] = MEM_callocN(sizeof(*uv) * num_uv_layers, "Particle UVs"); } if (ELEM(from, PART_FROM_FACE, PART_FROM_VOLUME)) { ParticleData *particle = &psys->particles[psys->child[i].parent]; @@ -352,7 +352,7 @@ static void particle_batch_cache_ensure_pos_and_seg(ParticleSystem *psys, Modifi if (num != DMCACHE_NOTFOUND) { MFace *mface = psmd->dm_final->getTessFaceData(psmd->dm_final, num, CD_MFACE); for (int j = 0; j < num_uv_layers; j++) { - psys_interpolate_uvs(mtfaces[j] + num, mface->v4, particle->fuv, parent_uvs[psys->child[i].parent][j]); + psys_interpolate_uvs(mtfaces[j] + num, mface->v4, particle->fuv, uv[j]); } } } |