- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
D游戏引擎中的室外大场景渲染技术研究与实现
3D游戏引擎中的室外大场景渲染技术研究与实现
3D游戏特别是网络在线游戏中,室外大场景渲染是一块非常重要的内容,它也是3D图形引擎的核心。它是图形学和图像处理理论最直接的应用,其涉及的技术还可以应用于其它领域,比如虚拟现实、3D GIS、数据可视化等,其重要性不容置疑。随着硬件的不断发展,行业对渲染场景的规模和真实感提出了更高的要求。
第四章 场景的真实感渲染技术
第三章讨论了怎样有效绘制地形的三角形面片,关于怎么在面片上表现真实的地表(草地、沙粒),以及怎么表现光照、天空、植物等,这一系列问题涉及的就是场景的真实感渲染技术。
4.1纹理映射技术
4.1.1概念
在游戏设计中,由于客观世界千变万化、错综复杂,要把真实世界的各种细微结构直接用几何模型表示出来,不仅模型难以建立,而且计算量庞大,难以满足实时显示的需要,比如一张曲面可以用许多微小的多边形(或曲面片)表示其表面细节,假定每个微小多边形具有近似相同的表面特征,要显示这样一个曲面,就必须对这些微小多边形(或曲面片)进行分别处理,这将需要大量的存储空间和处理时间,因此在实际应用中,为了获得比较高的显示速度,往往以牺牲图形的真实感为代价。尽管这样,显示一幅比较复杂的图像仍然需要很长时间。于是,人们就想象是否可以用“贴墙纸的方法将反映物体表面的细节的图案贴到物体表面,从而开辟了一个新的研究领域一纹理映射(Texture Mappirig)。处理过程如下图:
纹理映射的方式主要分为三种:
颜色纹理映射:最简单和最基本的应用是将一幅花纹图案映射到物体表面,采用与表面上点的位置有关的值(如:参数曲面上一点的参数值)来确定纹理坐标并采样包含图案的纹理,采样值用定义该点的颜色。通过此类方法在图案和表面点之间建立的固定联系,不会因视线的改变而改变。当花纹或图案绘上之后,表面仍光滑如故,这种纹理称为颜色纹理,形如在物体表面绘制了一些花纹图案。
凸凹纹理映射:根据粗糙表面的光反射原理,通过一个扰动函数扰动物体表面法向量,使光滑表面得到调制,并在光线下呈现出凸凹不平的形状,这种纹理称为凸凹纹理(或几何纹理)。利用扰动函数可以很好的模拟皮毛、头发、衣服之类的物体。
过程纹理映射:过程纹理映射属于三维纹理,它就是将三维的纹理函数映射到三维物体上。也就是说在物体的内部也会受到纹理的影响。例如,木材和大理石的纹理,需要考虑每一个相邻面的纹理映射,通常每个面分别进行颜色纹理映射时,由于面的边界处纹理不连续,往往难以表现出自然的纹理,这种场合定义三维的纹理函数进行立体纹理映射是非常有效的。用过程纹理模拟物体表面细节,能够在非常复杂的曲面上表现连续的纹理,且纹理效果不受物体表面形状的影响,可以很大程度的解决纹理走样问题。
4.1.2 OpenGL实现纹理映射的步骤
(1)指定纹理
在最简单的情况下,纹理是单个图像。利用称为MipMap的技术,程序员可以指定同一纹理的多级分辨率图像,在进行纹理映射过程中,该技术可以按照景物表面在屏幕上所占区域分大小,自动选择合适分辨率的纹理图像对景物表面进行映射,以避免因纹理映射中的点采样方式所导致的纹理走样。另外,图像的定义可以包括边界值,以防止物体的纹理坐标超出有效区域。边界值允许程序员把多个纹理映射平滑的粘贴在一起,从而增加最大可用纹理的有效尺寸。相关函数:glTexImage2D(),glTexGen()。
(2)纹理如何作用于每个像素点
OpenGL根据片元的颜色和纹理图像数据中的颜色来计算最终的RGBA值。程序员可以选择下面三种功能中的一种:a.可以简单的使用纹理颜色作为最终的颜色,这种方法如同贴花一样,纹理被粘贴在片元的表面上;b.可以用纹理来调整片元的颜色和颜色比例,该技术对光照和纹理的综合效果非常有用;C.用纹理值将一个固定的颜色和片元的颜色混合在一起。相关函数:glTexParameter(···),glTexEnv(···)。
(3)激活纹理颜色
在绘制场景之前需激活纹理映射。相关函数:glEnable(),glDisable()。
(4)利用纹理坐标和几何坐标绘制几何场景
在粘贴纹理之前,必须说明纹理相当于片元是如何排列的。也就是说,必须指定场景中物体的纹理坐标和几何坐标。对于二维纹理图可指定其两个方向上的纹理坐标均为[O.0,1.0],而要粘贴纹理的物体坐标可以是任意的。相关函数:glTexCoord*()。
4.2 用多层纹理混合贴图模拟融合性地表
4.2.1纹理混合贴图
对于小的地形,我们可以考虑在整个地形上贴一张纹理。比如65×65的地形贴上一张128×128的图片。但是当地形很大时,我们的贴图不可能很小。当贴图很小时,地形会被拉伸产生失真;当把贴图选得
您可能关注的文档
- A专题十:离散型随机变量及其分布列.doc
- AutoCAD维建模图文版汇总.doc
- A体系文件编制导则.doc
- a元次方程复习导学案.doc
- AutoDeskInventor维模型转换成CAD平面工程图.doc
- a分解产物的和粗AMS中烃类含量的测定(GC).doc
- A单位管理员后台设置.doc
- A取样休氏试验和金相检验.doc
- a在幻灯片中插入图片》教学设计及反思.doc
- A发动机点火系统检测及诊断.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)