将opengl相机定位在特定的纹理像素上

时间:2013-05-25 13:37:52

标签: opengl textures

我正在尝试平移纹理的特定部分(应用于2D-Vertices定义的Quad)。我正在使用固定渲染管道。

开始和结束位置在纹理中作为像素位置给出: (例如:开始:30,12;结束:340,220) 有没有办法将相机放在指定的纹理像素上?或者我是从一个错误的角度接近这个?

1 个答案:

答案 0 :(得分:1)

你需要自己计算位置,OpenGL不能真正为你做到这一点。您需要将位置从纹理(像素)的图像空间转换为纹理坐标(纹素),然后转换为世界空间。为了有点挑剔,你不希望将相机放在纹理像素上,而是在纹理像素渲染的位置上,因为纹素与坐标系在不同的坐标系中。

作为一个想法,您可以在GL_TEXTURE模式下移动纹理,而不是在GL_MODELVIEW模式下移动相机。