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

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

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

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

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

《3D游戏软件设计》复习资料

《3D游戏软件设计》课程第一版

期末复习资料

《3D游戏软件设计》课程第一版(PPT)讲稿章节目录:

第1章OpenGL简介

1.1OpenGL简介

1.2OpenGL的功能及工作流程

1.3OpenGL函数库

1.4OpenGL开发环境

1.5创建一个简单的OpenGL工程

第2章基本图元绘制

2.1点、线段的绘制

2.2虚线、多边形的绘制

第3章颜色

3.1计算机颜色的概念

3.2OpenGL的颜色模式

3.3两种颜色模式的应用

3.4颜色应用举例

3.5明暗处理

第4章变换

4.1用相机模拟的思路来理解变换

4.2OpenGL坐标系

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库函数的特点

参见讲稿章节:

1

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()

 

★考核知识点:

多边形的绘制

参见讲稿章节:

2

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中,纹理可以是一维、二维或三维。

(√)

★考核知识点:

纹理实现过程

参见讲稿章节:

9

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

(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、清除深度缓存区的函数为?

()

A.glEnable(GL_DEPTH_CLAMP);

B.glEnable(GL_DEPTH_TEST);

C.glEnable(GL_CULL_FACE);

D.glClear(GL_DEPTH_BUFFER_BIT);

★考核知识点:

绘制三维实体

参见讲稿章节:

10

可以使用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