下载此文档

OpenGL游戏程序设计.ppt


文档分类:IT计算机 | 页数:约144页 举报非法文档有奖
1/144
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/144 下载此文档
文档列表 文档介绍
OpenGL游戏程序设计
第一个OpenGL程序
见文本文件“第一个OpenGL文本文件”
第二章 基本图元绘制
OpenGL函数形式
OpenGL 函数通常以gl开头,中间是函数相关功能单词,后面跟一个数字和1~2个ctor个点将被画为虚的。
void myDisplay(void)
{
     glClear(GL_COLOR_BUFFER_BIT);
     glEnable(GL_LINE_STIPPLE);
     glLineStipple(2, 0x0F0F);
     glLineWidth();
     glBegin(GL_LINES);
         glVertex2f(, );
         glVertex2f(, );
     glEnd();
     glFlush();
}
3、关于多边形
(1)多边形的两面以及绘制方式。
虽然我们目前还没有真正的使用三维坐标来画图,但是建立一些三维的概念还是必要的。
从三维的角度来看,一个多边形具有两个面。每一个面都可以设置不同的绘制方式:填充、只绘制边缘轮廓线、只绘制顶点,其中“填充”是默认的方式。可以为两个面分别设置不同的方式。
glPolygonMode(GL_FRONT, GL_FILL);            // 设置正面为填充方式
glPolygonMode(GL_BACK, GL_LINE);             // 设置反面为边缘绘制方式
glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); // 设置两面均为顶点绘制方式
(2)反转
一般约定为“顶点以逆时针顺序出现在屏幕上的面”为“正面”,另一个面即成为“反面”。生活中常见的物体表面,通常都可以用这样的“正面”和“反面”,“合理的”被表现出来(请找一个比较透明的矿泉水瓶子,在正对你的一面沿逆时针画一个圆,并标明画的方向,然后将背面转为正面,画一个类似的圆,体会一下“正面”和“反面”。你会发现正对你的方向,瓶的外侧是正面,而背对你的方向,瓶的内侧才是正面。正对你的内侧和背对你的外侧则是反面。这样一来,同样属于“瓶的外侧”这个表面,但某些地方算是正面,某些地方却算是反面了)。
可以通过glFrontFace函数来交换“正面”和“反面”的概念。
glFrontFace(GL_CCW);   // 设置CCW方向为“正面”,CCW即CounterClockWise,逆时针
glFrontFace(GL_CW);    // 设置CW方向为“正面”,CW即
ClockWise,顺时针
void myDisplay(void)
{
     glClear(GL_COLOR_BUFFER_BIT);
     glPolygonMode(GL_FRONT, GL_FILL); // 设置正面为填充模式
     glPolygonMode(GL_BACK, GL_LINE);   // 设置反面为线形模式
     glFrontFace(GL_CCW);               // 设置逆时针方向为正面
     glBegin(GL_POLYGON);               // 按逆时针绘制一个正方形,在左下方
         glVertex2f(-, -);
         glVertex2f(, -);
         glVertex2f(, );
         glVertex2f(-, );
     glEnd();
     glBegin(GL_POLYGON);               // 按顺时针绘制一个正方形,在右上方
         glVertex2f(, );
         glVertex2f(, );
         glVertex2f(, );
         glVertex2f(, );
     glEnd();
     glFlush();
}
(3)剔除多边形表面
在三维空间中,一个多边形虽然有两个面,但我们无法看见背面的那些多边形,而一些多边形虽然是正面的,但被其他多边形所遮挡。如果将无法看见的多边形和可见的多边形同等对待,无疑会降低我们处理图形的效率。在这种时候,可以将不必要的面剔除。
首先,使用glEnable(GL_CULL_FACE);来启动剔除功能(使用glDisable(GL_CULL_FAC

OpenGL游戏程序设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数144
  • 收藏数0 收藏
  • 顶次数0
  • 上传人核辐射
  • 文件大小813 KB
  • 时间2022-05-20