* WIP commit of fixes for musgrave and wave.
This commit is contained in:
Thomas Dinges 2012-09-04 16:00:12 +00:00
parent 3d7fd3c158
commit f2caaaec9b
2 changed files with 20 additions and 15 deletions

@ -186,32 +186,35 @@ float noise_musgrave_ridged_multi_fractal(point p, string basis, float H, float
shader node_musgrave_texture(
string Type = "fBM",
string Basis = "Perlin",
float Dimension = 2.0,
float Lacunarity = 1.0,
float Octaves = 2.0,
float Detail = 2.0,
float Offset = 0.0,
float Intensity = 1.0,
float Gain = 1.0,
float Scale = 5.0,
point Vector = P,
output float Fac = 0.0)
output float Fac = 0.0,
output color Color = color(0.0, 0.0, 0.0))
{
float dimension = max(Dimension, 0.0);
float octaves = max(Octaves, 0.0);
float dimension = max(Dimension, 1e-5);
float octaves = clamp(Detail, 0.0, 16.0);
float lacunarity = max(Lacunarity, 1e-5);
string Basis = "Perlin"
float intensity = 1.0;
point p = Vector*Scale;
if(Type == "Multifractal")
Fac = Intensity*noise_musgrave_multi_fractal(p, Basis, dimension, lacunarity, octaves);
Fac = intensity*noise_musgrave_multi_fractal(p, Basis, dimension, lacunarity, octaves);
else if(Type == "fBM")
Fac = Intensity*noise_musgrave_fBm(p, Basis, dimension, lacunarity, octaves);
Fac = intensity*noise_musgrave_fBm(p, Basis, dimension, lacunarity, octaves);
else if(Type == "Hybrid Multifractal")
Fac = Intensity*noise_musgrave_hybrid_multi_fractal(p, Basis, dimension, lacunarity, octaves, Offset, Gain);
Fac = intensity*noise_musgrave_hybrid_multi_fractal(p, Basis, dimension, lacunarity, octaves, Offset, Gain);
else if(Type == "Ridged Multifractal")
Fac = Intensity*noise_musgrave_ridged_multi_fractal(p, Basis, dimension, lacunarity, octaves, Offset, Gain);
Fac = intensity*noise_musgrave_ridged_multi_fractal(p, Basis, dimension, lacunarity, octaves, Offset, Gain);
else if(Type == "Hetero Terrain")
Fac = Intensity*noise_musgrave_hetero_terrain(p, Basis, dimension, lacunarity, octaves, Offset);
Fac = intensity*noise_musgrave_hetero_terrain(p, Basis, dimension, lacunarity, octaves, Offset);
Color = color(Fac, Fac, Fac);
}

@ -48,12 +48,14 @@ float wave(point p, float scale, string type, float detail, float distortion, fl
shader node_wave_texture(
string Type = "Bands",
float Scale = 5.0,
float distortion = 0.0,
float detail = 2.0,
float Distortion = 0.0,
float Detail = 2.0,
float dscale = 1.0,
point Vector = P,
output float Fac = 0.0)
output float Fac = 0.0,
output color Color = color (0.0, 0.0, 0.0))
{
Fac = wave(Vector, Scale, Type, detail, distortion, dscale);
Fac = wave(Vector, Scale, Type, Detail, Distortion, dscale);
Color = color(Fac, Fac, Fac);
}