diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-05-30 18:53:26 +0400 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-05-30 18:53:26 +0400 |
commit | f8ecc3fd2fd11a40f5cea3a23b3c83b9861762cc (patch) | |
tree | 59f4204ff356047d501e85b39404726bdfaec311 /source/blender/render | |
parent | 1658a28a58ebd5fe58ab33875b10aaabb3458b79 (diff) |
Some cleanup of particle path drawing logic:
* Path drawing now works for non hair particles.
* Should fix the following bugs too:
[#21316] Hair weight drawing is wrong
[#21923] Consistent Crash When Rendering Particle Scene.
[#21950] Path rendering option for particles causes crash
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index f6be316dcfd..86c6a325bcd 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -1532,8 +1532,6 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem /* 1. check that everything is ok & updated */ if(psys==NULL) return 0; - - totchild=psys->totchild; part=psys->part; pars=psys->particles; @@ -1554,6 +1552,8 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem if(part->phystype==PART_PHYS_KEYED) psys_count_keyed_targets(&sim); + psys_update_children(&sim); + totchild=psys->totchild; if(G.rendering == 0) { /* preview render */ totchild = (int)((float)totchild * (float)part->disp / 100.0f); @@ -1657,6 +1657,9 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem transpose_m3(nmat); /* 2.6 setup strand rendering */ + if(part->ren_as == PART_DRAW_PATH && psys->pathcache==NULL) + psys_update_path_cache(&sim, cfra); + if(part->ren_as == PART_DRAW_PATH && psys->pathcache){ path_nbr=(int)pow(2.0,(double) part->ren_step); |