From 5e04b399d86f4bcf6c9c4e2dfa4de3b41aa47165 Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Mon, 8 Jun 2015 03:07:17 -0700 Subject: [PATCH] fixing the wrong matrix used --- libraries/gpu/src/gpu/Transform.slh | 8 +++++--- libraries/render-utils/src/model.slv | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/gpu/src/gpu/Transform.slh b/libraries/gpu/src/gpu/Transform.slh index 7d630f2f47..772a69b951 100644 --- a/libraries/gpu/src/gpu/Transform.slh +++ b/libraries/gpu/src/gpu/Transform.slh @@ -86,6 +86,8 @@ TransformCamera getTransformCamera() { return camera; } +uniform mat4 cameraTransform_viewInverse; + <@endif@> <@endfunc@> @@ -109,10 +111,10 @@ TransformCamera getTransformCamera() { //return camera._projection * camera._view * object._model * pos; !> { // transformModelToClipPos vec4 _worldpos = (<$objectTransform$>._model * <$modelPos$>); - // <$eyePos$> = (<$cameraTransform$>._viewInverse * _worldpos); + <$eyePos$> = (<$cameraTransform$>._view * _worldpos); vec4 _eyepos =(<$objectTransform$>._model * <$modelPos$>) + vec4(-<$modelPos$>.w * <$cameraTransform$>._viewInverse[3].xyz, 0.0); <$clipPos$> = <$cameraTransform$>._projectionViewUntranslated * _eyepos; - <$eyePos$> = (<$cameraTransform$>._projectionInverse * <$clipPos$>); + // <$eyePos$> = (<$cameraTransform$>._projectionInverse * <$clipPos$>); } <@else@> <$eyePos$> = gl_ModelViewMatrix * <$modelPos$>; @@ -144,7 +146,7 @@ TransformCamera getTransformCamera() { <$worldDir$> = vec3(<$cameraTransform$>._viewInverse * vec4(<$eyeDir$>.xyz, 0.0)); } <@else@> - <$worldDir$> = vec3(gl_ModelViewMatrixInverse * vec4(<$eyeDir$>.xyz, 0.0)); + <$worldDir$> = vec3(cameraTransform_viewInverse * vec4(<$eyeDir$>.xyz, 0.0)); <@endif@> <@endfunc@> diff --git a/libraries/render-utils/src/model.slv b/libraries/render-utils/src/model.slv index c400f1e8bf..2d22c0df51 100755 --- a/libraries/render-utils/src/model.slv +++ b/libraries/render-utils/src/model.slv @@ -40,6 +40,6 @@ void main(void) { TransformObject obj = getTransformObject(); <$transformModelToEyeAndClipPos(cam, obj, gl_Vertex, interpolatedPosition, gl_Position)$> <$transformModelToEyeDir(cam, obj, gl_Normal, interpolatedNormal.xyz)$> - // interpolatedPosition = (gl_Vertex); + interpolatedNormal = vec4(normalize(interpolatedNormal.xyz), 0.0); }