So, I'm having some issues with GLM. At first I was doing my own matrix math, but I thought I had a rotation problem. Unfortunately, switching to GLM has actually decreased my progress. I just want to see what happens when I translate and it doesn't work right. I'm wondering if I'm doing something wrong. Here's the code I'm writing:
glm::mat4 ret = glm::translate(glm::mat4(1.0f), glm::vec3(m_trans.x, m_trans.y, m_trans.z));
m_trans is a vec3, but I thought maybe that was part of the problem, that's why I'm using the vec3 constructor. Anyway, it's doing some weird stuff, I printed out the matrix ret and I see that it's giving me ret and ret have values. Instead of ret and ret. When I changed the code above to be:
glm::mat4 ret(1.0f); ret = m_trans.x; ret = m_trans.y; ret = m_trans.z;
It worked properly. Am I doing something wrong? The way I'm putting the matrix into the shader is:
glUniformMatrix4fv(m_worldUniform, 1, GL_TRUE, glm::value_ptr(m_worldMat));
I'm sure there's something I'm doing wrong, but I cannot figure it out.
Then, there's the issue with rotation. When the box is rotated 90 degrees, it is wider than it is high, despite being 256x256 in size when I create it (I take the width/height of the window and convert that to the [-1,1] field. This happens when I did my own rotation ,and when I use the glm rotation. Any ideas? Thanks ahead of time.
EDIT: I'm using the most recent version of GLM.
Edited by hatfarm, 12 April 2013 - 09:31 PM.