[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50635] trunk/blender/intern/cycles/kernel /osl/nodes: Cycles / OSL:

Thomas Dinges blender at dingto.org
Sat Sep 15 17:03:43 CEST 2012


Revision: 50635
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50635
Author:   dingto
Date:     2012-09-15 15:03:43 +0000 (Sat, 15 Sep 2012)
Log Message:
-----------
Cycles / OSL:
* Fix Musgrave Texture, used wrong Perlin Noise (0..1) instead of -1..1. Also added comment to noise_basis() to make it clear which noise type is used there. 

Modified Paths:
--------------
    trunk/blender/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_texture.h

Modified: trunk/blender/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl	2012-09-15 13:56:09 UTC (rev 50634)
+++ trunk/blender/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl	2012-09-15 15:03:43 UTC (rev 50635)
@@ -37,14 +37,14 @@
 	int i;
 
 	for(i = 0; i < (int)octaves; i++) {
-		value += noise_basis(p, basis) * pwr;
+		value += noise("perlin", p) * pwr;
 		pwr *= pwHL;
 		p *= lacunarity;
 	}
 
 	rmd = octaves - floor(octaves);
 	if(rmd != 0.0)
-		value += rmd * noise_basis(p, basis) * pwr;
+		value += rmd * noise("perlin", p) * pwr;
 
 	return value;
 }
@@ -65,14 +65,14 @@
 	int i;
 
 	for(i = 0; i < (int)octaves; i++) {
-		value *= (pwr * noise_basis(p, basis) + 1.0);
+		value *= (pwr * noise("perlin", p) + 1.0);
 		pwr *= pwHL;
 		p *= lacunarity;
 	}
 
 	rmd = octaves - floor(octaves);
 	if(rmd != 0.0)
-		value *= (rmd * pwr * noise_basis(p, basis) + 1.0); /* correct? */
+		value *= (rmd * pwr * noise("perlin", p) + 1.0); /* correct? */
 
 	return value;
 }
@@ -93,11 +93,11 @@
 	int i;
 
 	/* first unscaled octave of function; later octaves are scaled */
-	value = offset + noise_basis(p, basis);
+	value = offset + noise("perlin", p);
 	p *= lacunarity;
 
 	for(i = 1; i < (int)octaves; i++) {
-		increment = (noise_basis(p, basis) + offset) * pwr * value;
+		increment = (noise("perlin", p) + offset) * pwr * value;
 		value += increment;
 		pwr *= pwHL;
 		p *= lacunarity;
@@ -105,7 +105,7 @@
 
 	rmd = octaves - floor(octaves);
 	if(rmd != 0.0) {
-		increment = (noise_basis(p, basis) + offset) * pwr * value;
+		increment = (noise("perlin", p) + offset) * pwr * value;
 		value += rmd * increment;
 	}
 
@@ -127,7 +127,7 @@
 	float pwr = pwHL;
 	int i;
 
-	result = noise_basis(p, basis) + offset;
+	result = noise("perlin", p) + offset;
 	weight = gain * result;
 	p *= lacunarity;
 
@@ -135,7 +135,7 @@
 		if(weight > 1.0)
 			weight = 1.0;
 
-		signal = (noise_basis(p, basis) + offset) * pwr;
+		signal = (noise("perlin", p) + offset) * pwr;
 		pwr *= pwHL;
 		result += weight * signal;
 		weight *= gain * signal;
@@ -144,7 +144,7 @@
 
 	rmd = octaves - floor(octaves);
 	if(rmd != 0.0)
-		result += rmd * ((noise_basis(p, basis) + offset) * pwr);
+		result += rmd * ((noise("perlin", p) + offset) * pwr);
 
 	return result;
 }
@@ -164,7 +164,7 @@
 	float pwr = pwHL;
 	int i;
 
-	signal = offset - fabs(noise_basis(p, basis));
+	signal = offset - fabs(noise("perlin", p));
 	signal *= signal;
 	result = signal;
 	weight = 1.0;
@@ -172,7 +172,7 @@
 	for(i = 1; i < (int)octaves; i++) {
 		p *= lacunarity;
 		weight = clamp(signal * gain, 0.0, 1.0);
-		signal = offset - fabs(noise_basis(p, basis));
+		signal = offset - fabs(noise("perlin", p));
 		signal *= signal;
 		signal *= weight;
 		result += signal * pwr;

Modified: trunk/blender/intern/cycles/kernel/osl/nodes/node_texture.h
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/nodes/node_texture.h	2012-09-15 13:56:09 UTC (rev 50634)
+++ trunk/blender/intern/cycles/kernel/osl/nodes/node_texture.h	2012-09-15 15:03:43 UTC (rev 50635)
@@ -156,7 +156,7 @@
 	float result = 0.0;
 
 	if (basis == "Perlin")
-		result = noise(p);
+		result = noise(p); /* returns perlin noise in range 0..1 */
 	if (basis == "Voronoi F1")
 		result = voronoi_F1S(p);
 	if (basis == "Voronoi F2")




More information about the Bf-blender-cvs mailing list