创建三角形和四边形
在DrawGLScene()过程中增加代码。
glLoadIdentity():将当前点移到了屏幕中心。
glTranslatef(x, y, z):沿着 X、Y 和 Z 轴移动。不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。
glBegin(GL_TRIANGLES):开始绘制三角形。
glEnd(): 告诉OpenGL三角形已经创建好了。
GL_QUADS:四边形
GL_POLYGON:多个顶点
画三角形顺序:上顶点—左下顶点—右下顶点。
画四边形顺序:左上—右上—右下—左下(顺时针)。顺时针绘制的是正方形的背面。逆时针绘制的是正方形的正面。
换掉窗口模式下的标题内容。(在WINAPI WinMain中)
使用颜色
两种着色模式:Smooth coloring(平滑着色),Flat coloring(单调着色)。
glColor3f(r,g,b):三个参数依次是红、绿、蓝三色分量。取值范围可以从0,0f到1.0f。
旋转
两个变量: rtri 的用来旋转三角形, rquad 旋转四边形。两个变量加在程序的开始处其它变量的后面( bool fullscreen=TRUE;下面的两行)。
glRotatef(Angle,Xvector,Yvector,Zvector):让对象绕某个轴旋转。 Angle: 是变量,代表对象转过的角度。 Xvector , Yvector 和 Zvector 三个参数则共同决定旋转轴的方向。
增加了另一个glLoadIdentity()调用,目的是为了重置模型观察矩阵,重置后焦点又回到了场景的中心(0.0处)。
有关容器:数字越大,物体就转的越快,这个数字越小,物体转的就越慢。
创建3D物体
要让您的对象绕自身的轴旋转,您必须让对象的中心坐标总是(0.0f,0,0f,0,0f)。
注意所有的面-三角形都是逆时针次序绘制的。
要么都逆时针,要么都顺时针,但永远不要将两种次序混在一起。
金字塔绘制顺序:前侧面—右侧面—后侧面—左侧面(哪个面先画应该无所谓)
正方体绘制顺序:绕XYZ轴转,上侧面—底侧面—前侧面—后侧面-左侧面-右侧面