不了解OpenGL转换

时间:2014-01-27 21:22:05

标签: c++ opengl glm-math

所以我开始学习OpenGL,并开始尝试用2D做一些事情。不幸的是,我似乎无法让转换正常工作。

这里有一些代码:

glm::mat4 Transform;
Transform = glm::scale(Transform, glm::vec3(2*(image.Size.x/renderTarget.Size.x),2 * (image.Size.y/renderTarget.Size.y), 1));

Transform = glm::translate(
    Transform,
    glm::vec3(2 * (Position.x / renderTarget.Size.x) - 1.0f,2 * (-Position.y / renderTarget.Size.y) + 1.0f,1)
    );
glUniformMatrix4fv(uniTrans, 1, GL_FALSE, glm::value_ptr(Transform));

和我试图绘制的形状:

    float verts[] = {
        0.0f,0.0f,
        1.0f,0.0f,,
        1.0f,-1.0f,
        0.0f,-1.0f
    };

这一点是我将常规OpenGL坐标(中间为(0,0))转换为左上角的原点。不幸的是,缩放真的与位置混淆,移动它如果我关闭它然后位置工作正常,但我不知道为什么。

0 个答案:

没有答案