Commit: 20f6a0f2d7318b946eaa0ac09ea64d3188a093ed
Author: Thomas Dinges
Date:   Thu May 28 00:33:31 2015 +0200
Branches: master
https://developer.blender.org/rB20f6a0f2d7318b946eaa0ac09ea64d3188a093ed

Cleanup: Remove unused Voronoi texture code.

Let's finally delete this code, after 4 years of being unused,
there really is no excuse anymore.

If we decide to extend the procedural textures in SVM, we can do this anytime 
in the future.

===================================================================

M       intern/cycles/kernel/shaders/node_texture.h
M       intern/cycles/kernel/shaders/node_voronoi_texture.osl
M       intern/cycles/kernel/svm/svm_texture.h
M       intern/cycles/kernel/svm/svm_types.h
M       intern/cycles/kernel/svm/svm_voronoi.h

===================================================================

diff --git a/intern/cycles/kernel/shaders/node_texture.h 
b/intern/cycles/kernel/shaders/node_texture.h
index 5f9cd5a..2d47b8e 100644
--- a/intern/cycles/kernel/shaders/node_texture.h
+++ b/intern/cycles/kernel/shaders/node_texture.h
@@ -14,32 +14,6 @@
  * limitations under the License.
  */
 
-/* Voronoi Distances */
-
-float voronoi_distance(string distance_metric, vector d, float e)
-{
-#if 0
-       if (distance_metric == "Distance Squared")
-#endif
-               return dot(d, d);
-#if 0
-       if (distance_metric == "Actual Distance")
-               return length(d);
-       if (distance_metric == "Manhattan")
-               return fabs(d[0]) + fabs(d[1]) + fabs(d[2]);
-       if (distance_metric == "Chebychev")
-               return max(fabs(d[0]), max(fabs(d[1]), fabs(d[2])));
-       if (distance_metric == "Minkovsky 1/2")
-               return sqrt(fabs(d[0])) + sqrt(fabs(d[1])) + sqrt(fabs(d[1]));
-       if (distance_metric == "Minkovsky 4")
-               return sqrt(sqrt(dot(d * d, d * d)));
-       if (distance_metric == "Minkovsky")
-               return pow(pow(fabs(d[0]), e) + pow(fabs(d[1]), e) + 
pow(fabs(d[2]), e), 1.0 / e);
-       
-       return 0.0;
-#endif
-}
-
 /* Voronoi / Worley like */
 
 color cellnoise_color(point p)
@@ -51,7 +25,7 @@ color cellnoise_color(point p)
        return color(r, g, b);
 }
 
-void voronoi(point p, string distance_metric, float e, float da[4], point 
pa[4])
+void voronoi(point p, float e, float da[4], point pa[4])
 {
        /* returns distances in da and point coords in pa */
        int xx, yy, zz, xi, yi, zi;
@@ -71,7 +45,7 @@ void voronoi(point p, string distance_metric, float e, float 
da[4], point pa[4])
                                point ip = point(xx, yy, zz);
                                point vp = (point)cellnoise_color(ip);
                                point pd = p - (vp + ip);
-                               float d = voronoi_distance(distance_metric, pd, 
e);
+                               float d = dot(pd, pd);
 
                                vp += point(xx, yy, zz);
 
@@ -111,46 +85,6 @@ void voronoi(point p, string distance_metric, float e, 
float da[4], point pa[4])
        }
 }
 
-float voronoi_Fn(point p, int n)
-{
-       float da[4];
-       point pa[4];
-
-       voronoi(p, "Distance Squared", 0, da, pa);
-
-       return da[n];
-}
-
-float voronoi_FnFn(point p, int n1, int n2)
-{
-       float da[4];
-       point pa[4];
-
-       voronoi(p, "Distance Squared", 0, da, pa);
-
-       return da[n2] - da[n1];
-}
-
-float voronoi_F1(point p) { return voronoi_Fn(p, 0); }
-float voronoi_F2(point p) { return voronoi_Fn(p, 1); }
-float voronoi_F3(point p) { return voronoi_Fn(p, 2); }
-float voronoi_F4(point p) { return voronoi_Fn(p, 3); }
-float voronoi_F1F2(point p) { return voronoi_FnFn(p, 0, 1); }
-
-float voronoi_Cr(point p)
-{
-       /* crackle type pattern, just a scale/clamp of F2-F1 */
-       float t = 10.0 * voronoi_F1F2(p);
-       return (t > 1.0) ? 1.0 : t;
-}
-
-float voronoi_F1S(point p) { return 2.0 * voronoi_F1(p) - 1.0; }
-float voronoi_F2S(point p) { return 2.0 * voronoi_F2(p) - 1.0; }
-float voronoi_F3S(point p) { return 2.0 * voronoi_F3(p) - 1.0; }
-float voronoi_F4S(point p) { return 2.0 * voronoi_F4(p) - 1.0; }
-float voronoi_F1F2S(point p) { return 2.0 * voronoi_F1F2(p) - 1.0; }
-float voronoi_CrS(point p) { return 2.0 * voronoi_Cr(p) - 1.0; }
-
 /* Noise Bases */
 
 float safe_noise(point p, string type)
@@ -176,6 +110,7 @@ float noise_basis(point p, string basis)
 {
        if (basis == "Perlin")
                return safe_noise(p, "unsigned");
+#if 0
        if (basis == "Voronoi F1")
                return voronoi_F1S(p);
        if (basis == "Voronoi F2")
@@ -188,6 +123,7 @@ float noise_basis(point p, string basis)
                return voronoi_F1F2S(p);
        if (basis == "Voronoi Crackle")
                return voronoi_CrS(p);
+#endif
        if (basis == "Cell Noise")
                return cellnoise(p);
        
diff --git a/intern/cycles/kernel/shaders/node_voronoi_texture.osl 
b/intern/cycles/kernel/shaders/node_voronoi_texture.osl
index df16959..29e143a 100644
--- a/intern/cycles/kernel/shaders/node_voronoi_texture.osl
+++ b/intern/cycles/kernel/shaders/node_voronoi_texture.osl
@@ -37,7 +37,7 @@ shader node_voronoi_texture(
        float da[4];
        point pa[4];
 
-       voronoi(p * Scale, "Distance Squared", 1.0, da, pa);
+       voronoi(p * Scale, 1.0, da, pa);
 
        /* Colored output */
        if (Coloring == "Intensity") {
diff --git a/intern/cycles/kernel/svm/svm_texture.h 
b/intern/cycles/kernel/svm/svm_texture.h
index 2e06bbe..904c1e5 100644
--- a/intern/cycles/kernel/svm/svm_texture.h
+++ b/intern/cycles/kernel/svm/svm_texture.h
@@ -16,219 +16,6 @@
 
 CCL_NAMESPACE_BEGIN
 
-/* Voronoi Distances */
-
-#if 0
-ccl_device float voronoi_distance(NodeDistanceMetric distance_metric, float3 
d, float e)
-{
-#if 0
-       if(distance_metric == NODE_VORONOI_DISTANCE_SQUARED)
-#endif
-               return dot(d, d);
-#if 0
-       if(distance_metric == NODE_VORONOI_ACTUAL_DISTANCE)
-               return len(d);
-       if(distance_metric == NODE_VORONOI_MANHATTAN)
-               return fabsf(d.x) + fabsf(d.y) + fabsf(d.z);
-       if(distance_metric == NODE_VORONOI_CHEBYCHEV)
-               return fmaxf(fabsf(d.x), fmaxf(fabsf(d.y), fabsf(d.z)));
-       if(distance_metric == NODE_VORONOI_MINKOVSKY_H)
-               return sqrtf(fabsf(d.x)) + sqrtf(fabsf(d.y)) + 
sqrtf(fabsf(d.y));
-       if(distance_metric == NODE_VORONOI_MINKOVSKY_4)
-               return sqrtf(sqrtf(dot(d*d, d*d)));
-       if(distance_metric == NODE_VORONOI_MINKOVSKY)
-               return powf(powf(fabsf(d.x), e) + powf(fabsf(d.y), e) + 
powf(fabsf(d.z), e), 1.0f/e);
-       
-       return 0.0f;
-#endif
-}
-
-/* Voronoi / Worley like */
-ccl_device_inline float4 voronoi_Fn(float3 p, float e, int n1, int n2)
-{
-       float da[4];
-       float3 pa[4];
-       NodeDistanceMetric distance_metric = NODE_VORONOI_DISTANCE_SQUARED;
-
-       /* returns distances in da and point coords in pa */
-       int xx, yy, zz, xi, yi, zi;
-
-       xi = floor_to_int(p.x);
-       yi = floor_to_int(p.y);
-       zi = floor_to_int(p.z);
-
-       da[0] = 1e10f;
-       da[1] = 1e10f;
-       da[2] = 1e10f;
-       da[3] = 1e10f;
-
-       pa[0] = make_float3(0.0f, 0.0f, 0.0f);
-       pa[1] = make_float3(0.0f, 0.0f, 0.0f);
-       pa[2] = make_float3(0.0f, 0.0f, 0.0f);
-       pa[3] = make_float3(0.0f, 0.0f, 0.0f);
-
-       for(xx = xi-1; xx <= xi+1; xx++) {
-               for(yy = yi-1; yy <= yi+1; yy++) {
-                       for(zz = zi-1; zz <= zi+1; zz++) {
-                               float3 ip = make_float3((float)xx, (float)yy, 
(float)zz);
-                               float3 vp = cellnoise_color(ip);
-                               float3 pd = p - (vp + ip);
-                               float d = voronoi_distance(distance_metric, pd, 
e);
-
-                               vp += ip;
-
-                               if(d < da[0]) {
-                                       da[3] = da[2];
-                                       da[2] = da[1];
-                                       da[1] = da[0];
-                                       da[0] = d;
-
-                                       pa[3] = pa[2];
-                                       pa[2] = pa[1];
-                                       pa[1] = pa[0];
-                                       pa[0] = vp;
-                               }
-                               else if(d < da[1]) {
-                                       da[3] = da[2];
-                                       da[2] = da[1];
-                                       da[1] = d;
-
-                                       pa[3] = pa[2];
-                                       pa[2] = pa[1];
-                                       pa[1] = vp;
-                               }
-                               else if(d < da[2]) {
-                                       da[3] = da[2];
-                                       da[2] = d;
-
-                                       pa[3] = pa[2];
-                                       pa[2] = vp;
-                               }
-                               else if(d < da[3]) {
-                                       da[3] = d;
-                                       pa[3] = vp;
-                               }
-                       }
-               }
-       }
-
-       float4 result = make_float4(pa[n1].x, pa[n1].y, pa[n1].z, da[n1]);
-
-       if(n2 != -1)
-               result = make_float4(pa[n2].x, pa[n2].y, pa[n2].z, da[n2]) - 
result;
-
-       return result;
-}
-#endif
-
-ccl_device float voronoi_F1_distance(float3 p)
-{
-       /* returns squared distance in da */
-       float da = 1e10f;
-
-#ifndef __KERNEL_SSE2__
-       int ix = floor_to_int(p.x), iy = floor_to_int(p.y), iz = 
floor_to_int(p.z);
-
-       for(int xx = -1; xx <= 1; xx++) {
-               for(int yy = -1; yy <= 1; yy++) {
-                       for(int zz = -1; zz <= 1; zz++) {
-                               float3 ip = make_float3(ix + xx, iy + yy, iz + 
zz);
-                               float3 vp = ip + cellnoise_color(ip);
-                               float d = len_squared(p - vp);
-                               da = min(d, da);
-                       }
-               }
-       }
-#else
-       ssef vec_p = load4f(p);
-       ssei xyzi = quick_floor_sse(vec_p);
-
-       for(int xx = -1; xx <= 1; xx++) {
-               for(int yy = -1; yy <= 1; yy++) {
-                       for(int zz = -1; zz <= 1; zz++) {
-                               ssef ip = ssef(xyzi + ssei(xx, yy, zz, 0));
-                               ssef vp = ip + cellnoise_color(ip);
-                               float d = len_squared<1, 1, 1, 0>(vec_p - vp);
-                               da = min(d, da);
-                       }
-               }
-       }
-#endif
-
-       return da;
-}
-
-ccl_device float3 voronoi_F1_color(float3 p)
-{
-       /* returns color of the nearest point */
-       float da = 1e10f;
-
-#ifndef __KERNEL_SSE2__
-       float3 pa;
-       int ix = floor_to_int(p.x), iy = floor_to_int(p.y), iz = 
floor_to_int(p.z);
-
-       for(int xx = -1; xx <= 1; xx++) {
-               for(int yy = -1; yy <= 1; yy++) {
-                       for(int zz = -1; zz <= 1; zz++) {
-                               float3 ip = make_float3(ix + xx, iy + yy, iz + 
zz);
-                               float3 vp = ip + cellnoise_color(ip);
-                               float d = len_squared(p - vp);
-
-                               if(d < da) {
-                                       da = d;
-                                       pa = vp;
-                               }
-                       }
-               }
-       }
-
-       return cellnoise_color(pa);
-#else
-       ssef pa, vec_p = load4f(p);
-       ssei xyzi = quick_floor_sse(vec_p);
-
-       for(int xx = -1; xx <= 1; xx++) {
-               for(int yy = -1; yy <= 1; yy++) {
-                       for(int zz = -1; zz <= 1; zz++) {
-                               ssef ip = ssef(xyzi + ssei(xx, yy, zz, 0));
-                               ssef vp = ip + cellnoise_color(ip);
-                               float d = len_squared<1, 1, 1, 0>(vec_p - vp);
-
-                               if(d < da) {
-                                       da = d;
-                                       pa = vp;
-                               }
-                       }
-               }
-       }
-
-       ssef color = cellnoise_color(pa);
-       return (float3 &)color;
-#endif
-}
-
-#if 0
-ccl_device float voronoi_F1(float3 p) { return voronoi_Fn(p, 0.0f, 0, -1).w; }
-ccl_device float voronoi_F2(float3 p) { return voronoi_Fn(p, 0.0f, 1, -1).w; }
-ccl_device float voronoi_F3(float3 p) { return voronoi_Fn(p, 0.0f, 2, -1).w; }
-ccl_device float voronoi_F4(float3 p) { return voronoi_Fn(p, 0.0f, 3, -1).w; }
-ccl_device float voronoi_F1F2(float3 p) { return voronoi_Fn(p, 0.0f, 0, 1).w; }
-
-ccl_device float voronoi_Cr(float3 p)
-{
-       /* crackle type pattern, just a scale/clamp of F2-F1 */
-       float t = 10.0f*voronoi_F1F2(p);
-       return (t > 1.0f)? 1.0f: t;
-}
-
-ccl_device float voronoi_F1S(float3 p) { return 2.0f*voronoi_F1(p) - 1.0f; }
-ccl_device float voronoi_F2S(float3 p) { return 2.0f*voronoi_F2(p) - 1.0f; }
-ccl_device float voronoi_F3S(float3 p) { return 2.0f*voronoi_F3(p) - 1.0f; }
-ccl_device float voronoi_F4S(float3 p) { return 2.0f*voronoi_F4(p) - 1.0f; }
-ccl_device float voronoi_F1F2S(float3 p) { return 2.0f*voronoi_F1F2(p) - 1.0f; 
}
-ccl_device float voronoi_CrS(float3 p) { return 2.0f*voronoi_Cr(p) - 1.0f; }
-#endif
-
 /* Noise Bases */
 
 ccl_device float noise_basis(float3 p, NodeNoiseBasis basis)
diff --git a/intern/cycles/kernel/svm/svm_types.h 
b/intern/cycles/kernel/svm/svm_types.h
index 4f2117a..6d956a5 100644
--- a/intern/cycles/kernel/svm/svm_types.h
+++ b/intern/cycles/kernel/svm/svm_types.h
@@ -273,16 +273,6 @@ typedef enum NodeConvert {
        NODE_CONVERT_IV
 } NodeConvert;
 
-typedef enum NodeDistanceMetric {
-       NODE_V

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to