[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37103] trunk/blender/source/blender/ render/intern/source/pointdensity.c: Fix #27241: crash with point density texture when using particle age/velocity
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Jun 2 18:59:13 CEST 2011
Revision: 37103
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37103
Author: blendix
Date: 2011-06-02 16:59:12 +0000 (Thu, 02 Jun 2011)
Log Message:
-----------
Fix #27241: crash with point density texture when using particle age/velocity
fallof for object vertices.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/pointdensity.c
Modified: trunk/blender/source/blender/render/intern/source/pointdensity.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pointdensity.c 2011-06-02 15:21:47 UTC (rev 37102)
+++ trunk/blender/source/blender/render/intern/source/pointdensity.c 2011-06-02 16:59:12 UTC (rev 37103)
@@ -362,10 +362,18 @@
density = pdr->squared_radius;
else if (pdr->falloff_type == TEX_PD_FALLOFF_ROOT)
density = sqrt(dist);
- else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_AGE)
- density = dist*MIN2(pdr->point_data[pdr->offset + index], 1.0f);
- else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_VEL)
- density = dist*len_v3(pdr->point_data + index*3)*pdr->velscale;
+ else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_AGE) {
+ if (pdr->point_data_used & POINT_DATA_LIFE)
+ density = dist*MIN2(pdr->point_data[pdr->offset + index], 1.0f);
+ else
+ density = dist;
+ }
+ else if (pdr->falloff_type == TEX_PD_FALLOFF_PARTICLE_VEL) {
+ if (pdr->point_data_used & POINT_DATA_VEL)
+ density = dist*len_v3(pdr->point_data + index*3)*pdr->velscale;
+ else
+ density = dist;
+ }
if (pdr->density_curve && dist != 0.0f) {
density = curvemapping_evaluateF(pdr->density_curve, 0, density/dist)*dist;
More information about the Bf-blender-cvs
mailing list