I mentioned this in #41, but zglPushMatrix() is setting the current (new) matrix is pushes on as the identity matrix. Instead it should be cloning the current matrix then pushing that onto the stack. That is how the old fixed function glPushMatrix() worked.
Just to verify this, take a look at kazmath's pushMatrix() equivalent function:
I mentioned this in #41, but
zglPushMatrix()
is setting the current (new) matrix is pushes on as the identity matrix. Instead it should be cloning the current matrix then pushing that onto the stack. That is how the old fixed functionglPushMatrix()
worked.Just to verify this, take a look at
kazmath
'spushMatrix()
equivalent function:https://github.com/Kazade/kazmath/blob/master/kazmath/GL/matrix.c#L230
It doesn't load an identity; it copies the previous matrix.