在opengl中根据屏幕坐标放置图像

时间:2015-07-19 07:33:10

标签: c++ opengl orthographic

我一直在研究如何根据屏幕坐标而不是OpenGL基于Carthesian的坐标(正交)在OpenGL中放置图像。我设法部分解决了我的问题,但某些地方的计算结束了。顶部图像基于OpenGL,将图像置于0,0。底部是我的重新计算,但不是在左上角,图像的一部分是在屏幕外,左边有一个间隙。

正投影:

glm::ortho(-((float)WIDTH / (float)HEIGHT), (float)WIDTH / (float)HEIGHT, -1.0f, 1.0f, -1.0f, 1.0f)

转换:

    // Convert OpenGL coords to screen coords
    position.x = glLeft + (2.0f / (float)WIDTH * position.x);
    position.y = glTop + (-2.0f / (float)HEIGHT * position.y);

enter image description here

0 个答案:

没有答案