[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17315] branches/sim_physics/source/ blender: * Fixed a strange problem with the way textures are interpreted - was causing weird things with point density turbulence on
Matt Ebb
matt at mke3.net
Tue Nov 4 06:17:03 CET 2008
Revision: 17315
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17315
Author: broken
Date: 2008-11-04 06:17:02 +0100 (Tue, 04 Nov 2008)
Log Message:
-----------
* Fixed a strange problem with the way textures are interpreted - was causing weird things with point density turbulence on
* Reverted the spin field once more..
Modified Paths:
--------------
branches/sim_physics/source/blender/blenkernel/intern/effect.c
branches/sim_physics/source/blender/render/intern/source/pointdensity.c
branches/sim_physics/source/blender/render/intern/source/texture.c
Modified: branches/sim_physics/source/blender/blenkernel/intern/effect.c
===================================================================
--- branches/sim_physics/source/blender/blenkernel/intern/effect.c 2008-11-04 01:05:44 UTC (rev 17314)
+++ branches/sim_physics/source/blender/blenkernel/intern/effect.c 2008-11-04 05:17:02 UTC (rev 17315)
@@ -422,20 +422,27 @@
break;
case PFIELD_SPIN:
+ {
+ float inward[3];
+
Projf(temp, velocity, eff_vel);
-
Crossf(mag_vec,eff_vel,vec_to_part);
+ Crossf(inward, mag_vec, eff_vel);
Normalize(mag_vec);
+ Normalize(inward);
+ VecSubf(mag_vec, mag_vec, inward);
VecMulf(mag_vec,force_val*distance*falloff);
+
VecAddf(mag_vec, mag_vec, temp);
- VecCopyf(velocity, mag_vec);
- //VecSubf(mag_vec, mag_vec, velocity);
- //VecAddf(field, field, mag_vec);
+ //VecCopyf(velocity, mag_vec);
+ VecSubf(mag_vec, mag_vec, velocity);
+ VecAddf(field, field, mag_vec);
break;
+ }
case PFIELD_MAGNET:
if(planar)
VecCopyf(temp,eff_vel);
Modified: branches/sim_physics/source/blender/render/intern/source/pointdensity.c
===================================================================
--- branches/sim_physics/source/blender/render/intern/source/pointdensity.c 2008-11-04 01:05:44 UTC (rev 17314)
+++ branches/sim_physics/source/blender/render/intern/source/pointdensity.c 2008-11-04 05:17:02 UTC (rev 17315)
@@ -304,9 +304,9 @@
PointDensityRangeData pdr;
float density=0.0f, time=0.0f;
float vec[3] = {0.0, 0.0, 0.0};
- float tv[3];
float co[3];
float turb, noise_fac;
+ int num;
if ((!pd) || (!pd->point_tree)) {
texres->tin = 0.0f;
@@ -331,11 +331,13 @@
if (ELEM(pd->noise_influence, TEX_PD_NOISE_VEL, TEX_PD_NOISE_TIME)) {
/* find the average speed vectors or particle time,
* for perturbing final density lookup with */
- BLI_bvhtree_range_query(pd->point_tree, co, pd->radius, accum_density, &pdr);
+ num = BLI_bvhtree_range_query(pd->point_tree, co, pd->radius, accum_density, &pdr);
density = 0.0f;
- if (pd->noise_influence == TEX_PD_NOISE_TIME)
- vec[0] = vec[1] = vec[2] = time;
+ if (pd->noise_influence == TEX_PD_NOISE_TIME) {
+ vec[0] = vec[1] = vec[2] = time/num;
+ //if ((G.rt==1) && (time > 0.f)) printf("time: %f time/num: %f \n", time, time/num);
+ }
Normalize(vec);
}
@@ -357,7 +359,7 @@
texres->tr = vec[0];
texres->tg = vec[1];
texres->tb = vec[2];
- texres->ta = density;
+ //texres->ta = density;
BRICONTRGB;
return retval;
Modified: branches/sim_physics/source/blender/render/intern/source/texture.c
===================================================================
--- branches/sim_physics/source/blender/render/intern/source/texture.c 2008-11-04 01:05:44 UTC (rev 17314)
+++ branches/sim_physics/source/blender/render/intern/source/texture.c 2008-11-04 05:17:02 UTC (rev 17315)
@@ -1590,9 +1590,11 @@
float varfac= mtex->varfac*stencilTin;
/* convert RGB to intensity if intensity info isn't provided */
- if((rgbnor & TEX_RGB) && !(rgbnor & TEX_INT)) {
- if(texres.talpha) texres.tin= texres.ta;
- else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ if (rgbnor & TEX_INT) {
+ if (rgbnor & TEX_RGB) {
+ if(texres.talpha) texres.tin= texres.ta;
+ else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ }
}
if((mapto_flag & MAP_EMIT) && (mtex->mapto & MAP_EMIT)) {
More information about the Bf-blender-cvs
mailing list