电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

2016杭电《实时三维图形绘制》OpenGL课复习提纲、试题展示及参考答案

  • 资源ID:25564778       资源大小:570.98KB        全文页数:11页
  • 资源格式: DOC        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

2016杭电《实时三维图形绘制》OpenGL课复习提纲、试题展示及参考答案

2016 学年杭州电子科技大学实时三维图像绘制考试红色标记表示考到了,都是简答题,有超纲的(老师给的提纲)超纲题:【1】写出至少三种 OpenGL 矩阵堆栈,并说明作用?【2】请完整写出用 glut 和 OpenGL 编写的程序:绘制一个平面正三角形,使它绕着过它中心的垂直于平面的轴自动旋转。1、OpenGL 中能渲染的基本元素是什么? GLU 可以渲染哪些基本元素?答: OPENGL 基本元素:GL_POINTS、 GL_LINES、 GL_LINE_STRIP 、GL_LINE_LOOP GL_TRIANGLES、GL_TRIANGLE_STRIP 、GL_TRIANGLE_FAN GL_QUADS、GL_QUAD_STRIP、GL_POLYGONGLU 基本元素:NURBS 曲线曲面,二次曲面等2、简述 OpenGL 函数的语法特点?答: OpenGL 函数以前缀 gl 开头,并把组成函数的每个单词首字母用大写形式表示(如 glClearColor)。类似地,还定义了一些以前缀 GL_开头的常量,所有单词都使用大写形式,并以下划线分隔(如 GL-COLOR-BUFFER-BIT)。3、用框图说明 OpenGL 的渲染流程,并简要说明每个坐标系。视点空间投影变换裁剪空间 透视除法 归一化设备空间视口变换屏幕空间光栅化片元处理片元测试模型视图变换帧缓冲区物体空间物体坐标 视觉坐标 裁剪坐标 设备坐标窗口坐标4、写出 OpenGL 中局部光照的方程,要包含的系数有光源参数、材料参数、聚光灯的参数、衰减参数等,方程要表示是多个光源的。答: 顶点颜色=顶点处的材料发射颜色+全局环境光(在顶点处根据材料环境颜色属性进行缩放)+经过适当衰减的来自所有光源的环境、散射、镜面光成分5、在 OpenGL 中,使用光照的步骤是什么?答: 1、定义每个物体的每个顶点的法线向量。2、创建和选择一个或多个光源,并设置它们的位置。3、创建和选择一种光照模型。4、定义场景中物体的材料属性。6、分析程序并计算请看下面的一段程序,并计算三个顶点 、 和 处的光照的颜色值。1 2 3void init(void) GLfloat mat_ambient = 0.2, 0.2, 0.2, 1.0 ; GLfloat mat_diffuse = 0.8, 0.8, 0.8, 1.0 ; GLfloat mat_emission = 0.0, 0.0, 0.0, 1.0 ; GLfloat mat_specular = 0.3, 0.3, 0.3, 1.0 ; GLfloat mat_shininess = 2.0 ; GLfloat light_position = 1.0, 1.0, 1.0, 0.0 ; GLfloat light_ambient = 0.2, 0.2, 0.2, 1.0; GLfloat light_diffuse = 1.0, 1.0, 1.0, 1.0; GLfloat light_specular =1.0, 1.0, 1.0, 1.0; GLfloat lmodel_ambient = 0.2, 0.2, 0.2, 1.0; glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_SMOOTH); glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient); glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialfv(GL_FRONT, GL_EMISSION, mat_emission); glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST); void display(void) glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glBegin(GL_TRIANGLES); glNormal3f(0.0f, 0.0f, 1.0f); glVertex3f(0.0, 0.0, 0.0); /1 glVertex3f(1.0, 0.0, 0.0); /2 glVertex3f(1.0, 1.0, 0.0); /3 glEnd(); glFlush (); void reshape (int w, int h) glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity(); if (w <= h) glOrtho (-1.5, 1.5, -1.5*(GLfloat)h/(GLfloat)w,1.5*(GLfloat)h/(GLfloat)w, -10.0, 10.0); else glOrtho (-1.5*(GLfloat)w/(GLfloat)h,1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); int main(int argc, char* argv) glutInit( glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100); glutCreateWindow (argv0); init (); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMainLoop(); return 0; 答:把各个参数带到第四题的公式里,不要求算出结果7、在 OpenGL 中,使用纹理的步骤是什么? 纹理坐标和纹理都可以通过程序计算出来,自动生成纹理的原理是什么?答:步骤: 1、创建纹理对象,并为它指定一个纹理。2、确定纹理如何应用到每个像素上。3、启用纹理贴图功能。4、绘制场景,提供纹理坐标和几何图形坐标。原理:自动生成纹理由 glTexGen()函数来实现。要自动生成纹理坐标,首先要指定以什么样的模式来生成纹理坐标。纹理坐标生成模式有:GL_OBJECT_LINEAR、GL_EYE_LINEAR、GL_SPHERE_MAP、GL_REFLECTION_MAP 和 GL_NORMAL_MAP.1.GL_OBJECT_LINEAR在这个模式下,其纹理生成函数是顶点(x0,y0,z0,w0)的物体坐标的线性组合:生成的坐标=p0*x0+p1*y0+p2*z0+p3*w0;其中 p0,p1,p2,p3 的值是由 glTexGen*v()函数的 param 参数提供的。2.GL_EYE_LINEAR在这个模式下,其纹理生成函数是顶点的视觉坐标(xe,ye,ze,we)的线性组合:生成的坐标=p0'*xe+p1'*ye+p2'*ze+p3'*we;其中 p0,p1,p2,p3的值是由 glTexGen*()函数的 param 参数提供的。3.GL_SPHERE_MAP 和 GL_REFLECTION_MAP主要用于生成球体纹理4.GL_NORMAL_MAP主要用于生成立方图纹理8、帧缓存有几种,什么叫片元,片元的测试和操作有哪些?【超纲】每种有什么作用?答:帧缓存有:颜色缓存、深度缓存、模板缓存、累积缓存。片元:图元光栅化的结果,每个片元都对应于一个像素,包括颜色、深度,有时还包括纹理坐标。片元的测试:裁剪测试、alpha 测试、模板测试、深度测试;操作有:混合、抖动、逻辑操作。9、采用 GPU 编程,请说明 Vertex Shader 和 Fragment Shader 的输入输出坐标系是什么? 输入输出的主要参数是什么?答:在 Vertex Shader 中的输入坐标为局部坐标系(模型坐标系),输出坐标为裁剪坐标系。Fragment Shader 的输入为顶点管线输出的迭代值,包括纹理坐标、颜色信息等,输出为片元最终的颜色、深度以及输出到多个缓冲区。10、如何实现纹理的反走样?说明其原理。答:Mipmap 技术可以实现纹理反走样,其指定一系列预先过滤的分辨率递减的纹理图像,在使用 mipmap 时,它会根据被贴图的物体大小自动确定使用哪个纹理。通过这种方法,纹理图像中的细节层就能适应绘制到屏幕上的图像。11、写出场景的反走样算法,并说明其原理。答:对场景的反走样,通常采用多重采样的方法,即使用额外的颜色,深度和模板信息对图元进行抗锯齿处理。每个片元根椐子像素样本的数量和信息来计算,也就是根据一个多重采样缓冲区所保存的样本来计算。还有一种扰动视点的方法,也就是多次绘制这个场景,每次绘制时,对视点进行抖动,作一定轻微的偏移,当整个渲染过程完结后,再把所有图象叠加起来,由于每个图象的位置不同,可以减轻锯齿状。12、请列举出 3 种以上的三维模型常见的表示格式,已知一个立方体环境映射对应的六个面上的图片,分别假定为 X_POSITVIE_PIC, X_NEGATIVE_PIC, Y_POSITIVE_PIC,Y_NEGATIVE_PIC,Z_POSITIVE_PIC,Z_NEGATIVE_PIC,请用 OBJ 格式表示一个长度为 1 的立方体,并把每个面分别贴上给定的六个图片。答:三种常见格式:.obj .x .3ds .off# verticesv 0.0 0.0 1.0v 1.0 0.0 1.0v 1.0 1.0 1.0v 0.0 1.0 1.0v 1.0 0.0 0.0v 1.0 1.0 0.0v 0.0 1.0 0.0v 0.0 0.0 0.0#normalsvn 0.0 0.0 1.0 vn 0.0 0.0 -1.0 vn 0.0 1.0 0.0 vn 0.0 -1.0 0.0 vn 1.0 0.0 0.0 vn -1.0 0.0 0.0 vt 0.0 0.0vt 1.0 0.0vt 1.0 1.0vt 0.0 1.0#前面 1-2-3-4g posz_map usemtl posz_mapf 1/1/1 2/2/1 3/3/6 4/4/1#后面 5-6-7-8g negz_map usemtl negz_m

注意事项

本文(2016杭电《实时三维图形绘制》OpenGL课复习提纲、试题展示及参考答案)为本站会员(笛音)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.