I discovered the issue. It was in the shader, and I was multiplying in the wrong order (since matrix multiplication is not commutative).So this:out.pos = v * mvp_matrix;should be this:out.pos = mvp_matrix * v;That fixed it. For whatever reason I'm so used to dealing with row vectors as opposed to column vectors. And often times it's not clear what graphics libraries use. OpenGL uses column vectors, but DirectX uses row vectors. I don't recall reading in the Metal guide what it uses, so..
Topic:
Graphics & Games
SubTopic:
General
Tags: