diff options
Diffstat (limited to 'source/blender/gpu/shaders/material/gpu_shader_material_tex_noise.glsl')
-rw-r--r-- | source/blender/gpu/shaders/material/gpu_shader_material_tex_noise.glsl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_tex_noise.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_tex_noise.glsl new file mode 100644 index 00000000000..30e27da16e8 --- /dev/null +++ b/source/blender/gpu/shaders/material/gpu_shader_material_tex_noise.glsl @@ -0,0 +1,19 @@ +void node_tex_noise( + vec3 co, float scale, float detail, float distortion, out vec4 color, out float fac) +{ + vec3 p = co * scale; + int hard = 0; + if (distortion != 0.0) { + vec3 r, offset = vec3(13.5, 13.5, 13.5); + r.x = noise(p + offset) * distortion; + r.y = noise(p) * distortion; + r.z = noise(p - offset) * distortion; + p += r; + } + + fac = noise_turbulence(p, detail, hard); + color = vec4(fac, + noise_turbulence(vec3(p.y, p.x, p.z), detail, hard), + noise_turbulence(vec3(p.y, p.z, p.x), detail, hard), + 1); +} |