[Bf-blender-cvs] [3aa6557] master: Cycles / OSL: Make the signed/unsigned Perlin parameter more self explaining.

Thomas Dinges noreply at git.blender.org
Fri Oct 3 17:51:43 CEST 2014


Commit: 3aa65574f5562ef4bc6ac8ec7ef6a800d42681fd
Author: Thomas Dinges
Date:   Fri Oct 3 17:47:37 2014 +0200
Branches: master
https://developer.blender.org/rB3aa65574f5562ef4bc6ac8ec7ef6a800d42681fd

Cycles / OSL: Make the signed/unsigned Perlin parameter more self explaining.

===================================================================

M	intern/cycles/kernel/shaders/node_musgrave_texture.osl
M	intern/cycles/kernel/shaders/node_texture.h

===================================================================

diff --git a/intern/cycles/kernel/shaders/node_musgrave_texture.osl b/intern/cycles/kernel/shaders/node_musgrave_texture.osl
index 6076253..a32c3d4 100644
--- a/intern/cycles/kernel/shaders/node_musgrave_texture.osl
+++ b/intern/cycles/kernel/shaders/node_musgrave_texture.osl
@@ -35,14 +35,14 @@ float noise_musgrave_fBm(point p, string basis, float H, float lacunarity, float
 	int i;
 
 	for (i = 0; i < (int)octaves; i++) {
-		value += safe_noise(p, 0) * pwr;
+		value += safe_noise(p, "signed") * pwr;
 		pwr *= pwHL;
 		p *= lacunarity;
 	}
 
 	rmd = octaves - floor(octaves);
 	if (rmd != 0.0)
-		value += rmd * safe_noise(p, 0) * pwr;
+		value += rmd * safe_noise(p, "signed") * pwr;
 
 	return value;
 }
@@ -63,14 +63,14 @@ float noise_musgrave_multi_fractal(point p, string basis, float H, float lacunar
 	int i;
 
 	for (i = 0; i < (int)octaves; i++) {
-		value *= (pwr * safe_noise(p, 0) + 1.0);
+		value *= (pwr * safe_noise(p, "signed") + 1.0);
 		pwr *= pwHL;
 		p *= lacunarity;
 	}
 
 	rmd = octaves - floor(octaves);
 	if (rmd != 0.0)
-		value *= (rmd * pwr * safe_noise(p, 0) + 1.0); /* correct? */
+		value *= (rmd * pwr * safe_noise(p, "signed") + 1.0); /* correct? */
 
 	return value;
 }
@@ -91,11 +91,11 @@ float noise_musgrave_hetero_terrain(point p, string basis, float H, float lacuna
 	int i;
 
 	/* first unscaled octave of function; later octaves are scaled */
-	value = offset + safe_noise(p, 0);
+	value = offset + safe_noise(p, "signed");
 	p *= lacunarity;
 
 	for (i = 1; i < (int)octaves; i++) {
-		increment = (safe_noise(p, 0) + offset) * pwr * value;
+		increment = (safe_noise(p, "signed") + offset) * pwr * value;
 		value += increment;
 		pwr *= pwHL;
 		p *= lacunarity;
@@ -103,7 +103,7 @@ float noise_musgrave_hetero_terrain(point p, string basis, float H, float lacuna
 
 	rmd = octaves - floor(octaves);
 	if (rmd != 0.0) {
-		increment = (safe_noise(p, 0) + offset) * pwr * value;
+		increment = (safe_noise(p, "signed") + offset) * pwr * value;
 		value += rmd * increment;
 	}
 
@@ -126,7 +126,7 @@ float noise_musgrave_hybrid_multi_fractal(point p, string basis, float H,
 	float pwr = pwHL;
 	int i;
 
-	result = safe_noise(p, 0) + offset;
+	result = safe_noise(p, "signed") + offset;
 	weight = gain * result;
 	p *= lacunarity;
 
@@ -134,7 +134,7 @@ float noise_musgrave_hybrid_multi_fractal(point p, string basis, float H,
 		if (weight > 1.0)
 			weight = 1.0;
 
-		signal = (safe_noise(p, 0) + offset) * pwr;
+		signal = (safe_noise(p, "signed") + offset) * pwr;
 		pwr *= pwHL;
 		result += weight * signal;
 		weight *= gain * signal;
@@ -143,7 +143,7 @@ float noise_musgrave_hybrid_multi_fractal(point p, string basis, float H,
 
 	rmd = octaves - floor(octaves);
 	if (rmd != 0.0)
-		result += rmd * ((safe_noise(p, 0) + offset) * pwr);
+		result += rmd * ((safe_noise(p, "signed") + offset) * pwr);
 
 	return result;
 }
@@ -164,7 +164,7 @@ float noise_musgrave_ridged_multi_fractal(point p, string basis, float H,
 	float pwr = pwHL;
 	int i;
 
-	signal = offset - fabs(safe_noise(p, 0));
+	signal = offset - fabs(safe_noise(p, "signed"));
 	signal *= signal;
 	result = signal;
 	weight = 1.0;
@@ -172,7 +172,7 @@ float noise_musgrave_ridged_multi_fractal(point p, string basis, float H,
 	for (i = 1; i < (int)octaves; i++) {
 		p *= lacunarity;
 		weight = clamp(signal * gain, 0.0, 1.0);
-		signal = offset - fabs(safe_noise(p, 0));
+		signal = offset - fabs(safe_noise(p, "signed"));
 		signal *= signal;
 		signal *= weight;
 		result += signal * pwr;
diff --git a/intern/cycles/kernel/shaders/node_texture.h b/intern/cycles/kernel/shaders/node_texture.h
index de51559..2710eed 100644
--- a/intern/cycles/kernel/shaders/node_texture.h
+++ b/intern/cycles/kernel/shaders/node_texture.h
@@ -153,12 +153,12 @@ float voronoi_CrS(point p) { return 2.0 * voronoi_Cr(p) - 1.0; }
 
 /* Noise Bases */
 
-float safe_noise(point p, int type)
+float safe_noise(point p, string type)
 {
 	float f = 0.0;
 	
 	/* Perlin noise in range -1..1 */
-	if (type == 0)
+	if (type == "signed")
 		f = noise("perlin", p);
 	
 	/* Perlin noise in range 0..1 */
@@ -175,7 +175,7 @@ float safe_noise(point p, int type)
 float noise_basis(point p, string basis)
 {
 	if (basis == "Perlin")
-		return safe_noise(p, 1);
+		return safe_noise(p, "unsigned");
 	if (basis == "Voronoi F1")
 		return voronoi_F1S(p);
 	if (basis == "Voronoi F2")




More information about the Bf-blender-cvs mailing list