diff --git a/libraries/gpu/src/gpu/Transform.slh b/libraries/gpu/src/gpu/Transform.slh index 93ea0ce9f6..072303a7f9 100644 --- a/libraries/gpu/src/gpu/Transform.slh +++ b/libraries/gpu/src/gpu/Transform.slh @@ -68,7 +68,8 @@ TransformCamera getTransformCamera() { } <@else@> -uniform vec4 transformObjectBuffer[7]; +uniform vec4 transformObjectBuffer[8]; + TransformObject getTransformObject() { TransformObject object; object._model[0] = transformObjectBuffer[0]; diff --git a/libraries/render-utils/src/model.slv b/libraries/render-utils/src/model.slv index 4f416e8f1f..679e826ef3 100755 --- a/libraries/render-utils/src/model.slv +++ b/libraries/render-utils/src/model.slv @@ -16,6 +16,7 @@ const int MAX_TEXCOORDS = 2; uniform mat4 texcoordMatrices[MAX_TEXCOORDS]; + // the interpolated normal varying vec4 normal; @@ -30,7 +31,8 @@ void main(void) { // use standard pipeline transform TransformCamera cam = getTransformCamera(); TransformObject obj = getTransformObject(); - gl_Position = transformModelToClipPos(cam, obj, gl_Vertex); + + gl_Position = transformModelToClipPos(cam, obj, vec4(gl_Vertex.xyz, 1.0)); // transform and store the normal for interpolation normal = vec4(normalize(transformModelToEyeDir(cam, obj, gl_Normal)), 0.0);