openGL相机问题

时间:2013-02-15 02:07:48

标签: opengl graphics camera rendering textures

所以我在使用openGL相机做我想做的事情时遇到了一些麻烦。基本上我希望它根据我的键盘输入移动到某个位置,将场景渲染到纹理,然后移回其先前的位置,然后将纹理渲染为四边形。我想要的效果是当四边形保持静止时,我的四边形上移动的场景。然而,无论我做什么,四边形本身总是随着纹理一起移动。

我基本上做了以下事情:

SetMatrices;
gluLookAt(randomposition);
renderSceneToTexture;
gluLookAt(originalPosition)
texturemap my quad/render to screen.

我在这里缺少什么?我的渲染代码很好,因为当我不熟悉相机时,一切都正确呈现。

1 个答案:

答案 0 :(得分:0)

您需要在使用SetMatrices之前加载单位矩阵(或您在gluLookAt中设置的其他一些规范矩阵),gluLookAt将新矩阵与现有模型视图相乘基质

或者你可以使用push和pop矩阵的工作方式:

  • 设置你的矩阵
  • 推送模型视图矩阵
  • 查看随机位置
  • 将场景渲染为纹理
  • 弹出模型视图矩阵
  • 查看原始位置(可能没有必要)
  • 渲染你的四边形