网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenGl评论

OpenGL中渲染的基本元素是什么?GLU可以渲染哪些基本元素? OpenGL中能渲染的基本元素是什么?(曲面) OPENGL基本元素: GL_POINTS GL_LINES GL_POLYGON GL_LINE_STRIP GL_LINE_LOOP GL_TRANGLES GL_TRANGLE_STRIP  GL_TRANGLE_FAN GL_QUADS GL_QUAD_STRIP GLU基本元素:NUBRS曲线曲面,二次曲面等 用框图说明OpenGL的渲染流程,并简要说明每个坐标系。 顶点投影变换模型视图变换裁剪空间视点空间 顶点 投影变换 模型视图变换 裁剪空间 视点空间 裁切测试Alpha测试模版测试深度测试帧缓存区片元测试提取纹理单元用于纹理应用;纹理坐标计算,采样纹理应用;法向量计算;fog;主颜色辅颜色混合片元处理光栅化ViewPort除法标准坐标系屏幕空间光照计算 裁切测试 Alpha测试 模版测试 深度测试 帧缓存区 片元测试 提取纹理单元用于纹理应用; 纹理坐标计算,采样纹理应用; 法向量计算; fog; 主颜色辅颜色混合 片元处理 光栅化 ViewPort 除法 标准坐标系 屏幕空间 光照计算 3.写出OpenGL中局部光照的方程,要包含的系数有光源参数、材料参数、聚光灯的参数、衰减参数等,方程要表示是多个光源的。 Norm(X):单位化X N:顶点的单位化法向量 V:聚光灯指向顶点的向量 D:聚光灯的方向向量,它是单位向量 T:顶点到光源的向量,当光源是聚光灯时,即为-V P:顶点到视点的向量 L:N*Norm(T) S:Norm(T+P) 顶点颜色=材料自发光+ 环境光颜色*材料的环境颜色属性+ 对每个聚光灯加上(聚光灯衰减因子*聚光灯的效果)* [光源的环境颜色*材料的环境颜色+ 取Max{L,0}*漫反射光颜色*材料的漫反射属性+ 取(Max{S*N,0})shininess * 灯的反射值*材料的反射属性 其中shininess为镜面反射指数 后半部分即: 每个光源的贡献=衰减因子*聚光灯效果*(环境光成分+漫反射成分+镜面反射成分) 聚光的衰减因子= 聚光灯效果: 光源不是聚光灯,取1 光源是聚光灯但是顶点位于光源外,取0 其它:(Max{V*D,0})exp (exp为镜面反射指数值) 分析程序并计算 5.在OpenGL中,使用纹理的步骤是什么?纹理坐标和纹理都可以通过程序计算出来,自动生成纹理的原理是什么? 步骤:1、创建纹理对象,并为它指定一个纹理。 2、确定这个纹理如何应用到每个象素上。 3、启用纹理贴图功能。 4、绘制场景,提供纹理坐标和几何图形坐标。 投影纹理:通过应用一系列的变换,可以把物体坐标中的坐标映射到一个2D空间(纹理空间)中,并找出每个顶点映射到纹理的哪个部分,然后把这个位置当作纹理坐标给顶点。变换的过程是将物体坐标进行MODEL变换统一到一个世界坐标系,再进过Projector的VIEW矩阵变换投影的视点(Projector View)空间下,然后通过透视矩阵,最后要进行一部缩放和偏移的变换,这样就生成了它的投影纹理。 多重纹理:多重纹理是指对一个多边形映射多个纹理。在纹理映射的过程中,对各个纹理单元中的纹理,通过纹理组合函数,逐个应用到多边形上。使用多重纹理时,有多个纹理单元和多个纹理坐标,OPENGL渲染时对每个纹理进行单独的纹理操作,并把结果传递到下一个纹理单元中,即每个纹理单元根据它的纹理状态,把原来的片元颜色与纹理单元中的图像以一定的方式进行组合,把把产生的片元颜色传递到下一个纹理单元,在纹理组合时,OPENGL通过指定的纹理组合函数,如GL_REPLACE,GL_ADD,GL_MODULATE等方式。 6.帧缓存有几种,什么叫片元。片元的测试和操作有哪些? 颜色缓存:包括左前,右前,左后,右后及任意数量的辅助颜色缓存。 深度缓存,模板缓存,累积缓存。 明白stencilbuffer(模板缓冲区)的使用。 模板测试常用的是屏蔽掉屏幕中一些不规则的区域,以免在这些区域中进行绘图。使用glStencilFunc()和glStencilOp()函数选择需要使用的特定比较函数,参考值以及对模板缓冲区所执行的修改操作。 模板测试的结果决定了像素的颜色值是否要被写入到渲染目标,像素的深度值是否要被写入深度缓冲。 例如,当参考模板值为0时将一些物体绘制到场景中,而此时模板缓冲已经清除为1,那么当绘制这些物体时模板缓冲就会为0。如果接着将参考值设置为1,而且StencilFunction设置为 CompareFunction.LessEqual,那么只有那些模板值不为0的对应区域的像素会被绘制。这是使用

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档