|
@@ -63,9 +63,11 @@ vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
-// http://en.wikibooks.org/wiki/GLSL_Programming/Applying_Matrix_Transformations
|
|
|
vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
|
|
|
|
|
|
+ // dir can be either a direction vector or a normal vector
|
|
|
+ // upper-left 3x3 of matrix is assumed to be orthogonal
|
|
|
+
|
|
|
return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );
|
|
|
|
|
|
}
|