forked from bartvdbraak/blender
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:
parent
82fc331959
commit
b8d822eb35
@ -51,7 +51,12 @@ shader node_geometry(
|
|||||||
|
|
||||||
/* try to create spherical tangent from generated coordinates */
|
/* try to create spherical tangent from generated coordinates */
|
||||||
if (getattribute("geom:generated", generated)) {
|
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);
|
T = transform("object", "world", T);
|
||||||
Tangent = cross(Normal, normalize(cross(T, Normal)));
|
Tangent = cross(Normal, normalize(cross(T, Normal)));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user