我是 openGl 的初学者。你能告诉我一下吗
glTranslatef();
glScalef();
glBegin ();
我在谷歌搜索过它们但无法得到答案。
三江源
答案 0 :(得分:10)
glTranslate 按x y z生成翻译。当前矩阵(参见glMatrixMode)乘以此平移矩阵,
使用产品替换当前矩阵,就好像glMultMatrix
用以下矩阵调用其参数:
1 0 0 x
0 1 0 y
0 0 1 z
0 0 0 1
如果矩阵模式为GL_MODELVIEW
或GL_PROJECTION
,则全部
调用glTranslate后绘制的对象被翻译。
使用glPushMatrix
和glPopMatrix
保存并恢复
非翻译坐标系。
glScale 会沿x,y和z轴产生不均匀的缩放。这三个参数表示沿着每个参数的所需比例因子 三轴。
当前矩阵(见glMatrixMode)乘以此值 比例矩阵,产品替换当前矩阵,如果 调用glMultMatrix时使用以下矩阵作为其参数:
x 0 0 0
0 y 0 0
0 0 z 0
0 0 0 1
如果矩阵模式为GL_MODELVIEW
或GL_PROJECTION
,则全部
调用glScale后绘制的对象是缩放的。
使用glPushMatrix
和glPopMatrix
保存并恢复未缩放的版本
坐标系。
有关glScale
glBegin 和 glEnd 分界定义基元或一组类似基元的顶点。 glBegin接受一个 参数,指定顶点的十种方式中的哪一种 解释。将n作为从1开始的整数计数,将N作为 指定的顶点总数。
有关glBegin
答案 1 :(得分:1)
DoughnutZombie - 给出了有效的&正确答案。
但是,简单来说,IIRC你可以把它们想象得有点像:
您确实需要使用pushmatrix和popmatrix
所有这些都应该包含在大多数新手教程中,我可以在http://nehe.gamedev.net/
推荐遗留教程吗?