Fix performance issue in OSL geometry node, compiler fails to optimize out the

tangent computation, tweaked the code so this works.
This commit is contained in:
Brecht Van Lommel 2012-12-02 08:25:40 +00:00
parent 82fc331959
commit b8d822eb35

@ -51,7 +51,12 @@ shader node_geometry(
/* 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)));
}