Here's the rendering code as is, this shows how the matrix are multiplied onto the gl matrix stack.
Method RenderEntity(Entity:TPivot) Local Rot:TMatrix = LocalRot.CreateCopy() Rot.Invert() 'Invert Camera Matrix Rot.LoadGL() 'Load Camera Matrix Onto Stack. LocalTrans.MultiGL() 'Multiply Camera Position onto stack RenderEntities( Entity ) End Method Method RenderEntities(Entity:TPivot) GlPushMatrix() 'Push matrix stack. Entity.LocalTrans.MultiGL() Multiply stack with entities local position Local sm:TMatrix = tmatrix.create() sm.scale( entity.xscale,entity.yscale,entity.zscale ) sm.MultiGL() 'Scale Matrix stack by scale matrix. Entity.LocalRot.MultiGL() 'Multiply gl stack by entity rotatin Local Ent:TEntity = TEntity( Entity ) If ent<>Null ent.render() End If For Local sub:TPivot = EachIn Entity.Subs RenderEntities( sub ) Next glPopMatrix() End Method