func (ms *MatStack) RightMul(m mgl32.Mat4) {
	(*ms)[len(*ms)-1] = (*ms)[len(*ms)-1].Mul4(m)
}
RightMul multiplies the current top of the matrix by the argument.
package matstack
import (
	"errors"
	"github.com/go-gl/mathgl/mgl32"
)
type MatStack []mgl32.Mat4
func NewMatStack() *MatStack {
	return &MatStack{mgl32.Ident4()}
}
func (ms *MatStack) Push() {
	(*ms) = append(*ms, (*ms)[len(*ms)-1])
}
func (ms *MatStack) Pop() error {
	if len(*ms) == 1 {
		return errors.New("Cannot pop from mat stack, at minimum stack length of 1")
	}
	(*ms) = (*ms)[:len(*ms)-1]
	return nil
}