Pv3D-9. 排序

Pv3D-9. 排序

ID:44571110

大小:316.50 KB

页数:18页

时间:2019-10-23

Pv3D-9. 排序_第1页
Pv3D-9. 排序_第2页
Pv3D-9. 排序_第3页
Pv3D-9. 排序_第4页
Pv3D-9. 排序_第5页
资源描述:

《Pv3D-9. 排序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第九章:Z-sorting(深度排列)简介:本章主要介绍下面三个方面:a:什么是Z-sorting(深度排序)b:layeringscenerenders(分层渲染场景)c:用四叉树进行复杂的渲染的渲染注:viewport层就是ViewportLayer类的实例.它包含在viewport内Z-sorting的解释:在前面的章节中你一定碰到过Z-sorting(深度排序)的问题,你用的3D模型(model)越复杂,如果Z-sorting控制不准确,导致的问题也将会越来越明显。下面两幅图显示了两个茶壶,它清楚的显示了什么是Z-sorting(深度排序).上

2、面的图显示有一部分平面不可见,喷口后面的平面由于排在茶壶身体所在面的后面(即就是排在后面,我们不可见的一面),因而不可见,这就是利用了Z-sorting。Thepainter'salgorithm(排序算法)Z-sorting(深度排序)方法将决定每个平面在scene里的显示深度,其深度位置是按照scene里的平面(即3D对象的某一面)距camera的距离来决定的。在排序时判断哪个平面应该在前面是非常耗cpu的(TheprocessofdeterminingwhichtriangleshouldbeinfrontisCPUintensive.)。默认的

3、,papervision3d用一种非常快速但不是很精确的算法来为scene里的每个平面排序。该算法就是Thepainter'salgorithm,它的主旨是:远处的物体应在近处的物体之前被显示出来(即先显示远处的物体,再显示近处的物体)该算法的流程如下:第一:所有在camera视图里的平面(3D对象的某一面)是按照距camera的距离,由远到近进行排序的。第二:所有的平面(3D对象的某一面)是按照已排好的顺序依次显示在scene上即:最先开始显示最远处的的对象然后由远及近依次显示各个对象。最近的对象最后显示。上面最左边的图里的山是离camera最远的,

4、所以它最先显示出来,然后显示中间那张图里的草型区域,最后显示右图里的树林。Sortingtriangles——对平面进行排序为了更好的理解和深度排序有关的问题,我们需要更好的理解深度排序,下面是一幅标有注解的图。注:triangle:平面。按照Thepainter'salgorithm排序算法,则最先显示的是最远处的平面对象。所以先显示平面B,然后显示平面A。下面的两幅图,左边是按由近及远顺序显示的图(图Expected),右边是按照深度排序的方法显示的图(图painter'salgorithm)有一个很有效的方法去解决上面显示不明了的问题,即对B平面

5、进行再分。下图是对平面细分的指导:上面的平面B被再细分成平面B和平面C。渲染scene时,将会首先显示平面C然后是平面A,最后是平面B。下图是再分后的结果:如果换一个视角,将会导致重新排序,平面显示的顺序依旧是由远到近,只是此时各个平面距camera的距离发生了改变。如下图:这时,平面A将会最先显示,然后是B最后是C。但是这里将会导致一个Z-sorting问题:即平面A将会和B重叠。Layeringyourrenders:为了增加3D对象的显示效果,可以增加多个三角形平面(即创建更多的segment),但它不是最好的解决方案。因为当多个三角形平面的顶点

6、(vertex)投影到scene上时,三角形平面越多,投影到scene上的点也越多,因而消耗的cpu也越多.更好的解决办法是用viewport(视口)层,这些viewport(视口)层被嵌套在viewport里(因为viewport可以多方位旋转,因而有多个viewport层)。这些viewport(视口)层的概念与photoshop和flash里层的概念一样,他们的工作原理一样,最上层的总是显示在最前面。在photoshop里,每层只是放一种元素或者一种混合元素。在Pv3d里也是一样,每层只放一种元素。例如:我们可以将椅子放在某一层,然后将桌子放在另

7、一层。每层的排列顺序可以通过pv3d里算法实现。<该段主要是讲pv3d层的概念:每个层只能放一种元素,该元素既可以是单一的,也可以是混合的>为了演示上述方法,我们将重用在第八章介绍过了的animatedMill模型。下面将展示一些Z-sorting(深度排序)的问题。下面的代码将作为本章的模板。package{importflash.events.Event;importorg.papervision3d.core.animation.clip.AnimationClip3D;importorg.papervision3d.events.FileLoa

8、dEvent;importorg.papervision3d.materials.ColorM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。