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
path: root/intern
diff options
context:
space:
mode:
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/kernel/shaders/node_noise_texture.osl20
-rw-r--r--intern/cycles/kernel/shaders/node_wave_texture.osl2
-rw-r--r--intern/cycles/kernel/svm/svm_noisetex.h20
-rw-r--r--intern/cycles/kernel/svm/svm_wave.h2
4 files changed, 22 insertions, 22 deletions
diff --git a/intern/cycles/kernel/shaders/node_noise_texture.osl b/intern/cycles/kernel/shaders/node_noise_texture.osl
index e3da2d16371..6cff1cdab2c 100644
--- a/intern/cycles/kernel/shaders/node_noise_texture.osl
+++ b/intern/cycles/kernel/shaders/node_noise_texture.osl
@@ -59,7 +59,7 @@ float noise_texture(float co, float detail, float distortion, output color Color
{
float p = co;
if (distortion != 0.0) {
- p += safe_noise(p + random_float_offset(0.0)) * distortion;
+ p += safe_snoise(p + random_float_offset(0.0)) * distortion;
}
float value = fractal_noise(p, detail);
@@ -73,8 +73,8 @@ float noise_texture(vector2 co, float detail, float distortion, output color Col
{
vector2 p = co;
if (distortion != 0.0) {
- p += vector2(safe_noise(p + random_vector2_offset(0.0)) * distortion,
- safe_noise(p + random_vector2_offset(1.0)) * distortion);
+ p += vector2(safe_snoise(p + random_vector2_offset(0.0)) * distortion,
+ safe_snoise(p + random_vector2_offset(1.0)) * distortion);
}
float value = fractal_noise(p, detail);
@@ -88,9 +88,9 @@ float noise_texture(vector3 co, float detail, float distortion, output color Col
{
vector3 p = co;
if (distortion != 0.0) {
- p += vector3(safe_noise(p + random_vector3_offset(0.0)) * distortion,
- safe_noise(p + random_vector3_offset(1.0)) * distortion,
- safe_noise(p + random_vector3_offset(2.0)) * distortion);
+ p += vector3(safe_snoise(p + random_vector3_offset(0.0)) * distortion,
+ safe_snoise(p + random_vector3_offset(1.0)) * distortion,
+ safe_snoise(p + random_vector3_offset(2.0)) * distortion);
}
float value = fractal_noise(p, detail);
@@ -104,10 +104,10 @@ float noise_texture(vector4 co, float detail, float distortion, output color Col
{
vector4 p = co;
if (distortion != 0.0) {
- p += vector4(safe_noise(p + random_vector4_offset(0.0)) * distortion,
- safe_noise(p + random_vector4_offset(1.0)) * distortion,
- safe_noise(p + random_vector4_offset(2.0)) * distortion,
- safe_noise(p + random_vector4_offset(3.0)) * distortion);
+ p += vector4(safe_snoise(p + random_vector4_offset(0.0)) * distortion,
+ safe_snoise(p + random_vector4_offset(1.0)) * distortion,
+ safe_snoise(p + random_vector4_offset(2.0)) * distortion,
+ safe_snoise(p + random_vector4_offset(3.0)) * distortion);
}
float value = fractal_noise(p, detail);
diff --git a/intern/cycles/kernel/shaders/node_wave_texture.osl b/intern/cycles/kernel/shaders/node_wave_texture.osl
index 60591b79b33..a706c442368 100644
--- a/intern/cycles/kernel/shaders/node_wave_texture.osl
+++ b/intern/cycles/kernel/shaders/node_wave_texture.osl
@@ -31,7 +31,7 @@ float wave(point p, string type, string profile, float detail, float distortion,
}
if (distortion != 0.0) {
- n = n + (distortion * fractal_noise(p * dscale, detail));
+ n = n + (distortion * (fractal_noise(p * dscale, detail) * 2.0 - 1.0));
}
if (profile == "sine") {
diff --git a/intern/cycles/kernel/svm/svm_noisetex.h b/intern/cycles/kernel/svm/svm_noisetex.h
index c5a1e43a729..12884c6cb25 100644
--- a/intern/cycles/kernel/svm/svm_noisetex.h
+++ b/intern/cycles/kernel/svm/svm_noisetex.h
@@ -55,7 +55,7 @@ ccl_device void noise_texture_1d(
{
float p = co;
if (distortion != 0.0f) {
- p += noise_1d(p + random_float_offset(0.0f)) * distortion;
+ p += snoise_1d(p + random_float_offset(0.0f)) * distortion;
}
*value = fractal_noise_1d(p, detail);
@@ -71,8 +71,8 @@ ccl_device void noise_texture_2d(
{
float2 p = co;
if (distortion != 0.0f) {
- p += make_float2(noise_2d(p + random_float2_offset(0.0f)) * distortion,
- noise_2d(p + random_float2_offset(1.0f)) * distortion);
+ p += make_float2(snoise_2d(p + random_float2_offset(0.0f)) * distortion,
+ snoise_2d(p + random_float2_offset(1.0f)) * distortion);
}
*value = fractal_noise_2d(p, detail);
@@ -88,9 +88,9 @@ ccl_device void noise_texture_3d(
{
float3 p = co;
if (distortion != 0.0f) {
- p += make_float3(noise_3d(p + random_float3_offset(0.0f)) * distortion,
- noise_3d(p + random_float3_offset(1.0f)) * distortion,
- noise_3d(p + random_float3_offset(2.0f)) * distortion);
+ p += make_float3(snoise_3d(p + random_float3_offset(0.0f)) * distortion,
+ snoise_3d(p + random_float3_offset(1.0f)) * distortion,
+ snoise_3d(p + random_float3_offset(2.0f)) * distortion);
}
*value = fractal_noise_3d(p, detail);
@@ -106,10 +106,10 @@ ccl_device void noise_texture_4d(
{
float4 p = co;
if (distortion != 0.0f) {
- p += make_float4(noise_4d(p + random_float4_offset(0.0f)) * distortion,
- noise_4d(p + random_float4_offset(1.0f)) * distortion,
- noise_4d(p + random_float4_offset(2.0f)) * distortion,
- noise_4d(p + random_float4_offset(3.0f)) * distortion);
+ p += make_float4(snoise_4d(p + random_float4_offset(0.0f)) * distortion,
+ snoise_4d(p + random_float4_offset(1.0f)) * distortion,
+ snoise_4d(p + random_float4_offset(2.0f)) * distortion,
+ snoise_4d(p + random_float4_offset(3.0f)) * distortion);
}
*value = fractal_noise_4d(p, detail);
diff --git a/intern/cycles/kernel/svm/svm_wave.h b/intern/cycles/kernel/svm/svm_wave.h
index 402c1c87414..50c868c0f82 100644
--- a/intern/cycles/kernel/svm/svm_wave.h
+++ b/intern/cycles/kernel/svm/svm_wave.h
@@ -33,7 +33,7 @@ ccl_device_noinline_cpu float svm_wave(NodeWaveType type,
n = len(p) * 20.0f;
if (distortion != 0.0f)
- n += distortion * fractal_noise_3d(p * dscale, detail);
+ n += distortion * (fractal_noise_3d(p * dscale, detail) * 2.0f - 1.0f);
if (profile == NODE_WAVE_PROFILE_SIN) {
return 0.5f + 0.5f * sinf(n);