2012-06-13 140 views
1

我是OpenGl ES的新手。我正在学习android中的opengles教程,其中使用了glTranslatef()。我的问题很简单。首先告诉我,这个函数是否用于缩放目的,正如我所看到的,如果我没有错,通过使用-z值,对象会深入到屏幕中。第二,如果我画了一个正方形,然后使用函数glTranslatef(0,0,-3)并再次绘制一个新的正方形。这个函数调用会影响之前绘制的方块吗?opengl glTranslatef()概念

回答

3

是的glTranslatef()函数是通过更改-z值来实现缩放效果的一种方法,但使用正交视图时可能看不到该效果。在之后绘制的所有对象对glTranslatef()的调用被翻译,提供矩阵模式为GL_MODELVIEW或GL_PROJECTION。因此,在您的示例中,除非您重绘它,否则先前绘制的方形不应受到影响。

+0

我也对总宽度和高度w.r.t opengl感到困惑。我已经看到,如果我使用-1,-1,0作为x,y,z的顶点,那么它意味着左下角。通过使用-1和+1之间的值可以访问屏幕的总宽度和高度。我对吗? –