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:
authorJanne Karhu <jhkarh@gmail.com>2010-05-30 18:53:26 +0400
committerJanne Karhu <jhkarh@gmail.com>2010-05-30 18:53:26 +0400
commitf8ecc3fd2fd11a40f5cea3a23b3c83b9861762cc (patch)
tree59f4204ff356047d501e85b39404726bdfaec311 /source/blender/render
parent1658a28a58ebd5fe58ab33875b10aaabb3458b79 (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.c7
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);