I'm writing my own custom 3D routines and I'm curious about something...
although I wouldn't say I'm stuck....
(Background... I'm using Column Vector notation in my code, so read this
This part works fine. Everything gets applied as I would expect.
WorldPoints = Translation * Rotations * Scale * ObjectPoints[my cube]
The following works also, everything seems to be great:
ViewOrientationPoints = ViewMappingMatrix * WorldPoints
However when I then apply a Perspective Transform, two things happen:
1) The perspective gets applied correctly and everything seems to rotate
and translate where I would expect it too, however,
2) The original scale that I applied to my 3D object way back in the
beginning, has gone missing! The object is now being
viewed correctly, however it's just not the size I want it too be.
I'm not a maths guru, so this is puzzling me. If anyone can shed some light
on this I would be appreciative. I'm not entirely finished coding the
Perspective/View Volume transforms, however it seems to me, that if I have
already lost the scale at this point, then there is no way I can get it
back. What's going on?