Both mgl32 and mgl64 versions of matstack.MatStack contain a peculiar LeftMul method:
// Left multiplies the current top of the matrix by the
// argument.
func (ms *MatStack) LeftMul(m mgl32.Mat4) {
(*ms)[len(*ms)-1] = (*ms)[len(*ms)-1].Mul4(m)
}
This incorrectly performs a right multiply (it matches exactly the RightMul implementation). The operands to Mul4 need to be swapped.
Both mgl32 and mgl64 versions of matstack.MatStack contain a peculiar LeftMul method:
This incorrectly performs a right multiply (it matches exactly the RightMul implementation). The operands to Mul4 need to be swapped.