From d06b1ae34796849102e95e75815b34139798b21d Mon Sep 17 00:00:00 2001 From: Florent Castelli Date: Sun, 11 Nov 2012 17:54:13 +0100 Subject: [PATCH] Apply the world transform to the skinned vertices Improves rendering of skinning demo. The end of the tube is wrong and collapses on the origin. --- GPU/GLES/TransformPipeline.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/GPU/GLES/TransformPipeline.cpp b/GPU/GLES/TransformPipeline.cpp index b856fea184..a812b97e83 100644 --- a/GPU/GLES/TransformPipeline.cpp +++ b/GPU/GLES/TransformPipeline.cpp @@ -295,11 +295,14 @@ void TransformAndDrawPrim(void *verts, void *inds, int prim, int vertexCount, Li psum += tpos*decoded[index].weights[i]; nsum += tnorm*decoded[index].weights[i]; } + nsum.Normalize(); - psum.Write(out); - nsum.Write(norm); + + Vec3ByMatrix43(out, psum.v, gstate.worldMatrix); + Norm3ByMatrix43(norm, nsum.v, gstate.worldMatrix); } + // Perform lighting here if enabled. don't need to check through, it's checked above. float dots[4] = {0,0,0,0}; if (program->a_color0 != -1)