NeHe教程第二课第三课

glLoadIdentity();							// 重置当前的模型观察矩阵
 点击打开链接 


当您调用glLoadIdentity()之后,您实际上将当前点移到了屏幕中心,X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。

OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。中心左面的坐标值是负值,右面是正值。移向屏幕顶端是正值,移向屏幕底端是负值。移入屏幕深处是负值,移出屏幕则是正值。

glTranslatef(x, y, z)沿着 X, Y 和 Z 轴移动。根据前面的次序,下面的代码沿着X轴左移1.5个单位,Y轴不动(0.0f),最后移入屏幕6.0f个单位。注意在glTranslatef(x, y, z)中您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。



glTranslatef(-1.5f,0.0f,-6.0f);	 // 左移 1.5 单位,并移入屏幕 6.0,当前点将移动到(-1.5f,0.0f,-6.0f),但屏幕中心坐标仍然是(0,0,0);

glBegin(GL_TRIANGLES);	 // 绘制三角形,以下绘制的点都是相对于当前点而言,缩放旋转也是相对于当前点为参考。
glVertex3f( 0.0f, 1.0f, 0.0f);	 // 上顶点  (相对于当前点(-1.5f,0.0f,-6.0f)为( 0.0f, 1.0f, 0.0f)
glVertex3f(-1.0f,-1.0f, 0.0f);	 // 左下
glVertex3f( 1.0f,-1.0f, 0.0f);     // 右下
glEnd();	 // 三角形绘制结束

//顺时针绘制的正方形意味着我们所看见的是四边形的背面。
glTranslatef(3.0f,0.0f,0.0f); // 右移3单位 当前点(-1.5f,0.0f,-6.0f),右移3f,相对屏幕中心坐标为(1.5f,0.0f,-6.0f)。glBegin(GL_QUADS); // 绘制正方形 当前点相对屏幕中心坐标为(1.5f,0.0f,-6.0f),以下各点都是相对当前点的坐标glVertex3f(-1.0f, 1.0f, 0.0f); // 左上glVertex3f( 1.0f, 1.0f, 0.0f); // 右上glVertex3f( 1.0f,-1.0f, 0.0f); // 左下glVertex3f(-1.0f,-1.0f, 0.0f); // 右下glEnd(); // 正方形绘制结束



 




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值