我对使用 OpenGL ES 2.0 很陌生。我也在使用 iPhone 和 GLM 数学库。正如我所引用的,我一直在使用本教程:http: //tomdalling.com/blog/modern-opengl/03-matrices-depth-buffering-animation/但我发现很难找到 2D OpenGL 教程。
我正在尝试旋转 2D 精灵,但图像被扭曲了。例如在 0 度的旋转角度:http: //i.imgur.com/yBTN2ST.png和在 45 度的旋转角度:http: //i.imgur.com/cY5IJcg.png
在我的精灵课上
glm::mat4 projection = glm::ortho(0.0f, 480.0f, 0.0f, 320.0f);
glUniformMatrix4fv(projectionUniform, 1, GL_FALSE, glm::value_ptr(projection));
glm::mat4 newModel = glm::rotate(glm::mat4(), 0.0f, glm::vec3(0, 0, 1));
glUniformMatrix4fv(modelUniform, 1, GL_FALSE, value_ptr(newModel));
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
在我的顶点着色器中
vec4 newPosition = vec4(position + offset, 0.0, 1.0);
gl_Position = model * projection * newPosition;
我认为问题的一部分是图像在没有考虑纵横比的情况下被旋转,我不确定如何解决这个问题。
谢谢