[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52711] trunk/blender/intern/cycles/kernel /shaders/node_geometry.osl: Fix performance issue in OSL geometry node, compiler fails to optimize out the
Brecht Van Lommel
brechtvanlommel at pandora.be
Sun Dec 2 09:25:46 CET 2012
Revision: 52711
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52711
Author: blendix
Date: 2012-12-02 08:25:40 +0000 (Sun, 02 Dec 2012)
Log Message:
-----------
Fix performance issue in OSL geometry node, compiler fails to optimize out the
tangent computation, tweaked the code so this works.
Modified Paths:
--------------
trunk/blender/intern/cycles/kernel/shaders/node_geometry.osl
Modified: trunk/blender/intern/cycles/kernel/shaders/node_geometry.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_geometry.osl 2012-12-02 07:23:10 UTC (rev 52710)
+++ trunk/blender/intern/cycles/kernel/shaders/node_geometry.osl 2012-12-02 08:25:40 UTC (rev 52711)
@@ -51,7 +51,12 @@
/* try to create spherical tangent from generated coordinates */
if (getattribute("geom:generated", generated)) {
- vector T = vector(-(generated[1] - 0.5), (generated[0] - 0.5), 0.0);
+ matrix project = matrix(0.0, 1.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0, 0.0,
+ 0.5, -0.5, 0.0, 1.0);
+
+ vector T = transform(project, generated);
T = transform("object", "world", T);
Tangent = cross(Normal, normalize(cross(T, Normal)));
}
More information about the Bf-blender-cvs
mailing list