Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/kernel/shaders/node_musgrave_texture.osl')
-rw-r--r--intern/cycles/kernel/shaders/node_musgrave_texture.osl15
1 files changed, 10 insertions, 5 deletions
diff --git a/intern/cycles/kernel/shaders/node_musgrave_texture.osl b/intern/cycles/kernel/shaders/node_musgrave_texture.osl
index 91f4fba5898..454b3834081 100644
--- a/intern/cycles/kernel/shaders/node_musgrave_texture.osl
+++ b/intern/cycles/kernel/shaders/node_musgrave_texture.osl
@@ -26,13 +26,14 @@
* from "Texturing and Modelling: A procedural approach"
*/
-float noise_musgrave_fBm(point p, float H, float lacunarity, float octaves)
+float noise_musgrave_fBm(point ip, float H, float lacunarity, float octaves)
{
float rmd;
float value = 0.0;
float pwr = 1.0;
float pwHL = pow(lacunarity, -H);
int i;
+ point p = ip;
for (i = 0; i < (int)octaves; i++) {
value += safe_noise(p, "signed") * pwr;
@@ -54,13 +55,14 @@ float noise_musgrave_fBm(point p, float H, float lacunarity, float octaves)
* octaves: number of frequencies in the fBm
*/
-float noise_musgrave_multi_fractal(point p, float H, float lacunarity, float octaves)
+float noise_musgrave_multi_fractal(point ip, float H, float lacunarity, float octaves)
{
float rmd;
float value = 1.0;
float pwr = 1.0;
float pwHL = pow(lacunarity, -H);
int i;
+ point p = ip;
for (i = 0; i < (int)octaves; i++) {
value *= (pwr * safe_noise(p, "signed") + 1.0);
@@ -83,12 +85,13 @@ float noise_musgrave_multi_fractal(point p, float H, float lacunarity, float oct
* offset: raises the terrain from `sea level'
*/
-float noise_musgrave_hetero_terrain(point p, float H, float lacunarity, float octaves, float offset)
+float noise_musgrave_hetero_terrain(point ip, float H, float lacunarity, float octaves, float offset)
{
float value, increment, rmd;
float pwHL = pow(lacunarity, -H);
float pwr = pwHL;
int i;
+ point p = ip;
/* first unscaled octave of function; later octaves are scaled */
value = offset + safe_noise(p, "signed");
@@ -118,13 +121,14 @@ float noise_musgrave_hetero_terrain(point p, float H, float lacunarity, float oc
* offset: raises the terrain from `sea level'
*/
-float noise_musgrave_hybrid_multi_fractal(point p, float H, float lacunarity,
+float noise_musgrave_hybrid_multi_fractal(point ip, float H, float lacunarity,
float octaves, float offset, float gain)
{
float result, signal, weight, rmd;
float pwHL = pow(lacunarity, -H);
float pwr = pwHL;
int i;
+ point p = ip;
result = safe_noise(p, "signed") + offset;
weight = gain * result;
@@ -156,13 +160,14 @@ float noise_musgrave_hybrid_multi_fractal(point p, float H, float lacunarity,
* offset: raises the terrain from `sea level'
*/
-float noise_musgrave_ridged_multi_fractal(point p, float H, float lacunarity,
+float noise_musgrave_ridged_multi_fractal(point ip, float H, float lacunarity,
float octaves, float offset, float gain)
{
float result, signal, weight;
float pwHL = pow(lacunarity, -H);
float pwr = pwHL;
int i;
+ point p = ip;
signal = offset - fabs(safe_noise(p, "signed"));
signal *= signal;