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:
-rw-r--r--intern/cycles/kernel/shaders/node_texture.h25
-rw-r--r--intern/cycles/kernel/shaders/node_wave_texture.osl2
-rw-r--r--intern/cycles/kernel/svm/svm_texture.h25
-rw-r--r--intern/cycles/kernel/svm/svm_types.h6
-rw-r--r--intern/cycles/kernel/svm/svm_wave.h8
5 files changed, 4 insertions, 62 deletions
diff --git a/intern/cycles/kernel/shaders/node_texture.h b/intern/cycles/kernel/shaders/node_texture.h
index 645be23c6a5..e7801c0aba2 100644
--- a/intern/cycles/kernel/shaders/node_texture.h
+++ b/intern/cycles/kernel/shaders/node_texture.h
@@ -198,31 +198,6 @@ float noise_basis_hard(point p, string basis, int hard)
return (hard) ? fabs(2.0 * t - 1.0) : t;
}
-/* Waves */
-
-float noise_wave(string wave, float a)
-{
- if (wave == "Sine") {
- return 0.5 + 0.5 * sin(a);
- }
- if (wave == "Saw") {
- float b = 2 * M_PI;
- int n = (int)(a / b);
- a -= n * b;
- if (a < 0) a += b;
-
- return a / b;
- }
- if (wave == "Tri") {
- float b = 2 * M_PI;
- float rmax = 1.0;
-
- return rmax - 2.0 * fabs(floor((a * (1.0 / b)) + 0.5) - (a * (1.0 / b)));
- }
-
- return 0.0;
-}
-
/* Turbulence */
float noise_turbulence(point p, string basis, float details, int hard)
diff --git a/intern/cycles/kernel/shaders/node_wave_texture.osl b/intern/cycles/kernel/shaders/node_wave_texture.osl
index 12b837bc448..93d45ded9c3 100644
--- a/intern/cycles/kernel/shaders/node_wave_texture.osl
+++ b/intern/cycles/kernel/shaders/node_wave_texture.osl
@@ -39,7 +39,7 @@ float wave(point p, float scale, string type, float detail, float distortion, fl
if (distortion != 0.0) {
n = n + (distortion * noise_turbulence(p * dscale, "Perlin", detail, 0));
}
- return noise_wave("Sine", n);
+ return 0.5 + 0.5 * sin(n);
}
shader node_wave_texture(
diff --git a/intern/cycles/kernel/svm/svm_texture.h b/intern/cycles/kernel/svm/svm_texture.h
index 3347b623506..f735eb8acbe 100644
--- a/intern/cycles/kernel/svm/svm_texture.h
+++ b/intern/cycles/kernel/svm/svm_texture.h
@@ -177,31 +177,6 @@ __device float noise_basis_hard(float3 p, NodeNoiseBasis basis, int hard)
return (hard)? fabsf(2.0f*t - 1.0f): t;
}
-/* Waves */
-
-__device float noise_wave(NodeWaveBasis wave, float a)
-{
- if(wave == NODE_WAVE_SINE) {
- return 0.5f + 0.5f * sinf(a);
- }
- else if(wave == NODE_WAVE_SAW) {
- float b = M_2PI_F;
- int n = float_to_int(a / b);
- a -= n*b;
- if(a < 0.0f) a += b;
-
- return a / b;
- }
- else if(wave == NODE_WAVE_TRI) {
- float b = M_2PI_F;
- float rmax = 1.0f;
-
- return rmax - 2.0f*fabsf(floorf((a*(1.0f/b))+0.5f) - (a*(1.0f/b)));
- }
-
- return 0.0f;
-}
-
/* Turbulence */
__device_noinline float noise_turbulence(float3 p, NodeNoiseBasis basis, float octaves, int hard)
diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h
index dd95f19f175..939decf80a9 100644
--- a/intern/cycles/kernel/svm/svm_types.h
+++ b/intern/cycles/kernel/svm/svm_types.h
@@ -274,12 +274,6 @@ typedef enum NodeNoiseBasis {
NODE_NOISE_CELL_NOISE
} NodeNoiseBasis;
-typedef enum NodeWaveBasis {
- NODE_WAVE_SINE,
- NODE_WAVE_SAW,
- NODE_WAVE_TRI
-} NodeWaveBasis;
-
typedef enum NodeMusgraveType {
NODE_MUSGRAVE_MULTIFRACTAL,
NODE_MUSGRAVE_FBM,
diff --git a/intern/cycles/kernel/svm/svm_wave.h b/intern/cycles/kernel/svm/svm_wave.h
index d2d808e4063..33c1694283d 100644
--- a/intern/cycles/kernel/svm/svm_wave.h
+++ b/intern/cycles/kernel/svm/svm_wave.h
@@ -22,21 +22,19 @@ CCL_NAMESPACE_BEGIN
__device_noinline float svm_wave(NodeWaveType type, float3 p, float scale, float detail, float distortion, float dscale)
{
- float w, n;
+ float n;
p *= scale;
if(type == NODE_WAVE_BANDS)
n = (p.x + p.y + p.z) * 10.0f;
- else /* if(type == NODE_WAVE_RINGS) */
+ else /* NODE_WAVE_RINGS */
n = len(p) * 20.0f;
if(distortion != 0.0f)
n += distortion * noise_turbulence(p*dscale, NODE_NOISE_PERLIN, detail, 0);
- w = noise_wave(NODE_WAVE_SINE, n);
-
- return w;
+ return 0.5f + 0.5f * sinf(n);
}
__device void svm_node_tex_wave(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset)