《3D游戏软件设计》复习资料Word文件下载.docx

上传人:b****2 文档编号:13392387 上传时间:2022-10-10 格式:DOCX 页数:18 大小:254.32KB
下载 相关 举报
《3D游戏软件设计》复习资料Word文件下载.docx_第1页
第1页 / 共18页
《3D游戏软件设计》复习资料Word文件下载.docx_第2页
第2页 / 共18页
《3D游戏软件设计》复习资料Word文件下载.docx_第3页
第3页 / 共18页
《3D游戏软件设计》复习资料Word文件下载.docx_第4页
第4页 / 共18页
《3D游戏软件设计》复习资料Word文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

《3D游戏软件设计》复习资料Word文件下载.docx

《《3D游戏软件设计》复习资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《《3D游戏软件设计》复习资料Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

《3D游戏软件设计》复习资料Word文件下载.docx

4.3三维图形显示流程

4.4OpenGL几何变换

4.5OpenGL视图变换

4.6OpenGL投影变换

4.7OpenGL裁剪变换

4.8OpenGL视口变换

4.9OpenGL矩阵堆栈

4.10OpenGL变换实例

第5章动画

5.1计算机动画

5.2双缓冲技术

5.3GLUT窗口动画的实现

第6章绘制三维图形

6.1绘制立方体

6.2在3D空间用OpenGL自带的库函数绘制

第7章三维场景漫游

7.1绘制一个简单的三维场景

7.2第一人称视角行走的实现方法

7.3键盘控制

7.4鼠标控制

第8章光照

8.1基本概念

8.2光源

8.3材质

8.4光照模型

第9章纹理

9.1纹理基本概念

9.2OpenGL纹理实现过程(PPT02~PPT04)

9.3OpenGL纹理实例

第10章显示列表

10.1显示列表概念

10.2使用显示列表的步骤

10.3显示列表的应用

10.4显示列表实例

第11章混合

11.1混合的概念

11.2混合的过程

11.3设置混合因子的函数

11.4混合方程式函数

11.5混合的应用

11.6三维混合

第12章建立非控制台的windows程序框架

12.1windows应用程序基本框架

12.2基于windows应用程序框架的OpenGL程序设计

第13章纹理混合综合实例

一、客观部分:

(单项选择、多项选择、不定项选择、判断)

此类题目制作说明:

请在此处增加考核知识点中涉及公式明示。

请设置部分例题进行练习掌握,此例题可以为任课教师提供的题库题目,采纳题库题目需低于题库本项题目的30%。

题目内容计算过程及答案请删除,不提供给学生。

样例如下:

★考核知识点:

OpenGL状态机

参见讲稿章节:

1

OpenGL是一个状态机。

可以通过glEnable来启用状态,glDisable来禁用状态。

例题:

单选题:

1、若要启用光源,需要调用以下哪个函数?

()

A.glEnable(GL_LIGHTING)B.glEnable(GL_TEXTURE_2D)

C.glEnable(GL_BLEND)D.glEnable(GL_CLIP_PLANE)

OpenGL库函数的特点

OpenGL库函数用后缀表示入口参数类型。

i表示参数类型为整数型,f表示为float类型,v表示参数可用数组来替代一系列单个参数值。

参数类型后缀前带有数字2、3、4,2代表二维,3代表三维,4代表alpha值。

如图所示:

例题:

单选题:

1、OpenGL库函数中后缀字幕v表示函数参数可用类型为()。

A.整型数据

B.浮点型数据

C.数组型数据

D.三维坐标

基本图元的绘制

2

绘制点:

glVertex*()

点大小设置函数:

glPointSize(floatsize),注意,该函数需要放在绘制点函数之前。

绘制线段:

线段连接方式GL_LINESGL_LINE_STRIPGL_LINE_LOOP

线宽度设置函数:

glLineWidth(floatwidth)

1、要得到如右图示的效果,glBegin()函数的类型参数可取为()。

A.GL_POLYGON

B.GL_LINES

C.GL_LINE_STRIP

D.GL_LINE_LOOP

颜色模式

3

在OpenGL中颜色有两种模式:

RGB模式和颜色索引模式。

明暗处理方式将会影响最终的颜色显示,明暗处理方式有两种:

GL_FLAT平面模式和GL_SMOOTH光滑过渡模式。

1、在程序中绘制了一个带颜色的三角形,其中三个顶点分别绘制三种不同的颜色,若要实现三个顶点分别为三种颜色的彩色三角形,应调用下面哪个函数?

()

A.glColor3f()

B.glShadeModel(GL_FLAT);

C.glShadeMode(GL_SMOOTH);

D.glHint()

 

多边形的绘制

OpenGL中规定的多边形必须是凸多边形。

绘制多边形时,图元顶点的连接方式有:

程序格式为:

约定“顶点以逆时针顺序出现在屏幕上的面”为“正面”,另一个面即为“反面”。

多边形的绘制模式有:

(1)填充式(默认)–GL_FILL

(2)轮廓线式–GL_LINE(3)顶点式–GL_POINT(4)镂空图案填充式,使用函数glPolygonMode(GL_FRONT,GL_FILL);

来设置。

判断题:

1.OpenGL约定顶点以逆时针顺序出现在屏幕上的多边形为反面。

复合变换的顺序

4

在复合变换中,函数的调用顺序与实际变换顺序是相反的。

“先移动后旋转”和“先旋转后移动”得到的结果不一样。

1、OpenGL几何变换函数调用顺序和预想的操作顺序是一致的。

动画

5

出于效率考虑,OpenGL将绘制命令做了缓冲处理,单缓冲可通过调用glFlush()函数,双缓冲可通过glutSwapBuffer()函数,强制绘制器将结果立即输出。

在OpenGL中要实现动画效果,需要采用双缓冲技术。

在GLUT窗口模式中,可以通过函数glutInitDisplayMode(GLUT_DOUBLE)设置当前窗口模式为双缓冲模式。

选择题:

1、在OpenGL中要实现动画效果,需要采用()技术

A.单缓冲

B.关键帧

C.双缓冲

D.深度缓冲

纹理定义

9

纹理有一维纹理、二维纹理、三维纹理。

1.在OpenGL中,纹理可以是一维、二维或三维。

(√)

纹理实现过程

纹理实现过程较为复杂,注意各个步骤的函数。

(1)启用纹理

glEnable(GL_TEXTURE_2D);

(2)定义纹理

定义纹理的函数较为复杂,具体看PPT中举例。

glTexImage2D()

(3)创建纹理对象

glGenTextures(1,&

texture_ID)

(4)纹理滤镜

纹理滤镜主要包含了放大、缩小、重复三种方式。

注意GL_REPEAT和GL_CLAMP两种不同的重复方式。

(5)选择纹理

glBindTexture(GL_TEXTURE_2D,texture[0]);

(6)坐标映射

glTexCoord2f(0.0f,0.0f);

glVertex3f(-1.0f,-1.0f,1.0f);

多选题:

1、纹理滤镜函数glTexParameter可以实现对纹理的操作包括()

A.放大纹理

B.缩小纹理

C.重复纹理

D.定义纹理

显示列表

10

在编写OpenGL程序时,遇到重复的工作,可以创建一个显示列表,把重复的工作装入其中,并在需要的地方调用这个显示列表。

显示列表的使用步骤:

(1)分配显示列表编号glGenLists()

(2)创建显示列表glNewList()

(3)调用显示列表glCallList()

显示列表只能装入OpenGL函数,不能装入其它内容,并非所有的OpenGL函数都可以装入显示列表中。

1、在编写OpenGL程序时,遇到重复的工作,可以通过创建()的方法来优化程序。

A.函数

B.显示列表

C.顶点数组

D.双缓冲

1、用于查询的函数可以被装入到显示列表中。

深度&

深度缓冲

11

深度,就是在OpenGL坐标系中,像素点的z坐标距离摄像机的距离。

摄像机可能放在坐标系的任何位置,那么就不能简单的说z数值越大或越小,就是越靠近摄像机。

深度缓冲区,是这样一段数据,它记录了每一个像素距离观察者有多近。

在启用深度缓冲测试的情况下,如果将要绘制的像素比原来的像素更近,则像素将被绘制,否则,像素会被忽略掉,不进行绘制。

1、在OpenGL坐标系中,像素点的Z坐标距离摄像机的距离被称之为()。

A.深度缓冲

B.深度测试

C.深度

D.深度截取

2、启动深度缓存区的函数为?

A.glEnable(GL_DEPTH_CLAMP);

B.glEnable(GL_DEPTH_TEST);

C.glEnable(GL_CULL_FACE);

D.glClear(GL_DEPTH_BUFFER_BIT);

3、清除深度缓存区的函数为?

绘制三维实体

可以使用glut库和aux库函数绘制三维实体。

如:

glutWireSphere(GLdoubleradius,GLintslices,GLintstacks);

线框球

glutSolidSphere(GLdoubleradius,GLintslices,GLintstacks);

实心球

glutWireCube(GLdoublesize);

线框立方体

glutSolidCube(GLdoublesize);

实心立方体

glutWireTorus(GLdoubleinnerRadius,GLdoubleouterRadius,GLintnsides,GLintrings);

线框圆环

glutSolidTorus(GLdoubleinnerRadius,GLdoubleouterRadius,GLintnsides,GLintrings);

实心圆环

glutWireIcosahedron(void);

线框20面体

glutSolidIcosahedron(void);

实心20面体

glutWireOctahedron(void);

线框8面体

glutSolidOctahedron(void);

实心8面体

1.以下哪个函数可以绘制出一个实心球体?

A.glutWireSphere()

B.glutSolidSphere

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1