我正在开发一个基于C ++的 非常 基础的openGL和GLUT,你可以将“相机”作为播放器移动。
当我看雪人时,我的相机变慢了
一切都很好,直到我决定最终添加一个物体(事实上是一个巨大的雪人),但现在我已经添加了它,我遇到了非常奇怪的行为。
如果我看着雪人的物体并试图向前移动,感觉我正在逆着一股力量移动,好像我正在走过泥泞。
现在,如果我面对雪人,并用相机“向后走”,它会完全移动,但是当我看着它时......我会慢下来。我尝试过不同规模的雪人,雪人越大,我就越能感受到这种效果。
但请注意,它似乎不会导致我滞后,只会减慢速度。
我将非常感谢任何见解,如果需要,我会发布代码,但目前......我不知道哪些代码是相关的!
答案 0 :(得分:2)
当你说速度减慢时,你的意思是你的帧速率会下降吗?听起来你的雪人是非常多边形的,当它被渲染时会导致帧速率下降,从而降低速度。
当你背对雪人时,它被剪裁,它不在视野中,所以包含模型的多边形不会一直发送到3D管道。
如果您没有打开背面剔除,您可能希望这样做 - 否则您可能需要稍微简化模型。如果你在那里渲染一个立方体会发生什么?
根据您使用的硬件,如果您没有巨大的填充率(硬件在渲染缓冲区中填充像素的速度),即使是低多边形模型也可能会出现问题,但鉴于它是一个模型和硬件应该能够填充一次屏幕,我想这是不太可能的情况。