奥鹏答案网-奥鹏作业答案-奥鹏在线作业答案-奥鹏离线作业答案-奥鹏毕业论文-专业奥鹏作业答案辅导网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 190|回复: 0

南开大学《3D游戏软件设计》课程第一版 期末复习资

[复制链接]

9485

主题

9485

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28607
发表于 2019-10-29 11:04:41 | 显示全部楼层 |阅读模式
《3D游戏软件设计》课程第一版

                         期末复习资料

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

             第1章  OpenGL简介
            1.1  OpenGL简介
            1.2  OpenGL的功能及工作流程
            1.3  OpenGL函数库
            1.4  OpenGL开发环境
            1.5  创建一个简单的OpenGL工程

             第2章  基本图元绘制
            2.1  点、线段的绘制
            2.2   虚线、多边形的绘制

             第3章  颜色
              3.1  计算机颜色的概念
              3.2  OpenGL的颜色模式
            3.3  两种颜色模式的应用
              3.4  颜色应用举例
               3.5  明暗处理

             第4章  变换
               4.1  用相机模拟的思路来理解变换
               4.2  OpenGL坐标系
              4.3  三维图形显示流程
              4.4  OpenGL几何变换
              4.5  OpenGL视图变换
              4.6  OpenGL投影变换
              4.7  OpenGL裁剪变换
              4.8  OpenGL视口变换
              4.9  OpenGL矩阵堆栈
              4.10  OpenGL变换实例

             第5章  动画
                5.1  计算机动画
            5.2  双缓冲技术
            5.3  GLUT窗口动画的实现

             第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.2  OpenGL纹理实现过程(PPT02 ~ PPT04)
               9.3  OpenGL纹理实例

             第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.1  windows应用程序基本框架
            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(float size),注意,该函数需要放在绘制点函数之前。
             绘制线段:线段连接方式GL_LINES  GL_LINE_STRIP  GL_LINE_LOOP

                 线宽度设置函数:glLineWidth(float width)
            例题:
             单选题:
            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.        深度缓冲
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 价格公开

  • 优质服务

  • 专属客服

  • 信息开放

  • 担保交易

 
 
客服一号
客服二号
客服三号
客服四号
点击这里给我发消息
官方微信扫一扫
快速回复 返回顶部 返回列表