- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章: Z-sorting(深度排列 )
简介:
本章主要介绍下面三个方面:
a:什么是 Z-sorting (深度排序)
b:layeringscenerenders(分层渲染场景 )
c: 用四叉树进行复杂的渲染的渲染
注: viewport 层就是 ViewportLayer 类的实例 .它包含在
viewport 内
Z-sorting 的解释 :
在前面的章节中你一定碰到过 Z-sorting (深度排序)的问题,你用的 3D
模型( model)越复杂,如果 Z-sorting 控制不准确,导致的问题也将会越
来越明显。
下面两幅图显示了两个茶壶, 它清楚的显示了什么是 Z-sorting (深度排序).
上面的图显示有一部分平面不可见,喷口后面的平面由于排在茶
壶身体所在面的后面 ( 即就是排在后面,我们不可见的一面 ),因
而不可见,这就是利用了 Z-sorting 。
Thepaintersalgorithm( 排序算法 )
Z-sorting (深度排序) 方法将决定每个平面在 scene里的显示深度,其深度位
置是按照 scene里的平面(即 3D 对象的某一面)距 camera的距离来决定
的。在排序时判断哪个平面应该在前面是非常耗 cpu 的
(TheprocessofdeterminingwhichtriangleshouldbeinfrontisCPUintensive. ) 。默认的, papervision3d
用一种非常快速但不是很精确的算法来为 scene里的每个平面排序。该算
法就是 Thepaintersalgorithm, 它的主旨是:远处的物体应在近处的
物体之前被显示出来(即先显示远处的物体,再显示近处的物体)
该算法的流程如下:
第一:所有在 camera 视图里的平面 (3D 对象的某一面 )是按照距 camera 的距离,由远
到近进行排序的。
第二:所有的平面 (3D 对象的某一面 )是按照已排好的顺序依次显示在 scene 上
即:最先开始显示最远处的的对象然后由远及近依次显示各个对象。最近的对象最后
显示。
上面最左边的图里的山是离 camera 最远的,所以它最先显示出来, 然后显示中间那张
图里的草型区域,最后显示右图里的树林。
Sortingtriangles ——对平面进行排序
为了更好的理解和深度排序有关的问题,我们需要更好的理解深度排序,下面是一幅
标有注解的图。注 :triangle: 平面。
按照 Thepaintersalgorithm 排序算法,则最先显示的是最远处的平面对象。所以先显
示平面 B ,然后显示平面 A 。
下面的两幅图,左边是按由近及远顺序显示的图(图 Expected ),右边是按照深度排
序的方法显示的图 ( 图 paintersalgorithm)
有一个很有效的方法去解决上面显示不明了的问题,即对 B 平面进行再分。
下图是对平面细分的指导:
上面的平面 B 被再细分成平面 B 和平面 C。渲染 scene时,将会首先显示平面 C 然后
是平面 A ,最后是平面 B 。
下图是再分后的结果:
如果换一个视角 ,将会导致重新排序,平面显示的顺序依旧是由远到近,只是此时各个
平面距 camera的距离发生了改变。如下图:
这时,平面 A 将会最先显示,然后是 B 最后是 C。但是这里将会导致一个 Z-sorting 问
题:即平面 A 将会和 B 重
文档评论(0)