[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47351] trunk/blender/intern/cycles/kernel /osl/nodes: Cycles / OSL:
Thomas Dinges
blender at dingto.org
Sat Jun 2 21:25:13 CEST 2012
Revision: 47351
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47351
Author: dingto
Date: 2012-06-02 19:25:12 +0000 (Sat, 02 Jun 2012)
Log Message:
-----------
Cycles / OSL:
* Forgot to rename Gradient OSL file.
Added Paths:
-----------
trunk/blender/intern/cycles/kernel/osl/nodes/node_gradient_texture.osl
Removed Paths:
-------------
trunk/blender/intern/cycles/kernel/osl/nodes/node_blend_texture.osl
Deleted: trunk/blender/intern/cycles/kernel/osl/nodes/node_blend_texture.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/nodes/node_blend_texture.osl 2012-06-02 19:14:14 UTC (rev 47350)
+++ trunk/blender/intern/cycles/kernel/osl/nodes/node_blend_texture.osl 2012-06-02 19:25:12 UTC (rev 47351)
@@ -1,78 +0,0 @@
-/*
- * Copyright 2011, Blender Foundation.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "stdosl.h"
-#include "node_texture.h"
-
-/* Gradient */
-
-float gradient(point p, string progression, string axis)
-{
- float x, y;
-
- if(axis == "Vertical") {
- x= p[1];
- y= p[0];
- }
- else {
- x= p[0];
- y= p[1];
- }
-
- float result = 0.0;
-
- if(progression == "Linear") {
- result = (1.0 + x)/2.0;
- }
- else if(progression == "Quadratic") {
- float r = max((1.0 + x)/2.0, 0.0);
- result = r*r;
- }
- else if(progression == "Easing") {
- float r = min(max((1.0 + x)/2.0, 0.0), 1.0);
- float t = r*r;
-
- result = (3.0*t - 2.0*t*r);
- }
- else if(progression == "Diagonal") {
- result = (2.0 + x + y)/4.0;
- }
- else if(progression == "Radial") {
- result = atan2(y, x)/(2*M_PI) + 0.5;
- }
- else {
- float r = max(1.0 - sqrt(x*x + y*y + p[2]*p[2]), 0.0);
-
- if(progression == "Quadratic Sphere")
- result = r*r;
- else if(progression == "Spherical")
- result = r;
- }
-
- return result;
-}
-
-shader node_gradient_texture(
- string Progression = "Linear",
- string Axis = "Horizontal",
- point Vector = P,
- output float Fac = 0.0)
-{
- Fac = gradient(Vector, Progression, Axis);
-}
-
Copied: trunk/blender/intern/cycles/kernel/osl/nodes/node_gradient_texture.osl (from rev 47347, trunk/blender/intern/cycles/kernel/osl/nodes/node_blend_texture.osl)
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/nodes/node_gradient_texture.osl (rev 0)
+++ trunk/blender/intern/cycles/kernel/osl/nodes/node_gradient_texture.osl 2012-06-02 19:25:12 UTC (rev 47351)
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2011, Blender Foundation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "stdosl.h"
+#include "node_texture.h"
+
+/* Gradient */
+
+float gradient(point p, string progression, string axis)
+{
+ float x, y;
+
+ if(axis == "Vertical") {
+ x= p[1];
+ y= p[0];
+ }
+ else {
+ x= p[0];
+ y= p[1];
+ }
+
+ float result = 0.0;
+
+ if(progression == "Linear") {
+ result = (1.0 + x)/2.0;
+ }
+ else if(progression == "Quadratic") {
+ float r = max((1.0 + x)/2.0, 0.0);
+ result = r*r;
+ }
+ else if(progression == "Easing") {
+ float r = min(max((1.0 + x)/2.0, 0.0), 1.0);
+ float t = r*r;
+
+ result = (3.0*t - 2.0*t*r);
+ }
+ else if(progression == "Diagonal") {
+ result = (2.0 + x + y)/4.0;
+ }
+ else if(progression == "Radial") {
+ result = atan2(y, x)/(2*M_PI) + 0.5;
+ }
+ else {
+ float r = max(1.0 - sqrt(x*x + y*y + p[2]*p[2]), 0.0);
+
+ if(progression == "Quadratic Sphere")
+ result = r*r;
+ else if(progression == "Spherical")
+ result = r;
+ }
+
+ return result;
+}
+
+shader node_gradient_texture(
+ string Progression = "Linear",
+ string Axis = "Horizontal",
+ point Vector = P,
+ output float Fac = 0.0)
+{
+ Fac = gradient(Vector, Progression, Axis);
+}
+
More information about the Bf-blender-cvs
mailing list