[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13098] trunk/blender/source/blender/ blenkernel/intern/particle.c:

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Jan 2 16:44:28 CET 2008


Revision: 13098
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13098
Author:   blendix
Date:     2008-01-02 16:44:28 +0100 (Wed, 02 Jan 2008)

Log Message:
-----------

Bugfix for some strand simplification popping.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c	2008-01-02 14:36:46 UTC (rev 13097)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c	2008-01-02 15:44:28 UTC (rev 13098)
@@ -367,7 +367,7 @@
  * removing the previous data. this should be solved properly once */
 
 typedef struct ParticleRenderElem {
-	int curchild, totchild;
+	int curchild, totchild, reduce;
 	float lambda, t, scalemin, scalemax;
 } ParticleRenderElem;
 
@@ -627,6 +627,7 @@
 			/* compute transition region */
 			t= part->simplify_transition;
 			elem->t= (lambda-t < 0.0f)? lambda: (lambda+t > 1.0f)? 1.0f-lambda: t;
+			elem->reduce= 1;
 
 			/* scale at end and beginning of the transition region */
 			elem->scalemax= (lambda+t < 1.0f)? 1.0f/lambda: 1.0f/(1.0f - elem->t*elem->t/t);
@@ -642,6 +643,7 @@
 
 			elem->scalemax= 1.0f; //sqrt(lambda);
 			elem->scalemin= 1.0f; //sqrt(lambda);
+			elem->reduce= 0;
 		}
 
 		elem->lambda= lambda;
@@ -703,7 +705,7 @@
 	scalemin= elem->scalemin;
 	scalemax= elem->scalemax;
 
-	if(lambda >= 1.0f) {
+	if(!elem->reduce) {
 		scale= scalemin;
 		alpha= 1.0f;
 	}





More information about the Bf-blender-cvs mailing list