glTranslate() 的参数指定翻译原点的单位数量。因此,有可能超出显示器。有没有办法标准化我们移动的数量,这样我们就不会超出绘图区域?
问问题
378 次
1 回答
6
glTranslate() 的参数指定翻译原点的单位数量。
不(人们应该停止学习固定功能 GL 的另一个原因)。
glTranslate
生成一个矩阵,与当前矩阵右乘成为新的当前矩阵。它确实创建了一个平移矩阵,但它不一定从屏幕中心移动。例如,这是完全有效的:
glTranslatef(10.0f, 10.0f, 10.0f);
glTranslatef(0.0f, 50.0f, 0.0f);
这样做也是有效的:
glTranslatef(10.0f, 10.0f, 10.0f);
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glTranslatef(0.0f, 50.0f, 0.0f);
这会进行平移,然后围绕 Z 轴旋转 90 度。这会影响执行的最终翻译。
你也可以在里面放一个秤。
如果你想在屏幕上保留一个对象,这取决于你,而不是 OpenGL。
于 2012-04-14T21:41:36.390 回答