zoukankan      html  css  js  c++  java
  • 给Portal一些感性认识(2)


    摄像机处在一个室内区域,通过一道门与室外区域相连,通过门口的Portal我们可以看到远处的另一个Portal和与之相连的另一个室内区域


    将摄像机向右转使我们只看到刚才门口那个Portal的一小部分(亮紫色区域),由于可以通过这个Portal看到室外区域,所以从线框图上可以看到室外区域被画了出来


    继续向右旋转摄像机直到门口那个Portal全部消失,我们无法再通过它看到室外区域,因此室外区域不用再画出来,画面干净了很多(对比上图)。


    这是通过门口那个Portal看到远处Portal一小部分的情况,这种情况下与远处Portal相连的室内区域必须被画出来


    将摄像机上移,这时门口的Portal和远处那个Portal彼此分离(不再重叠),我们无法再通过门口的Portal看到远处的Portal(亮紫色),也意味着我们无法再看到与之相连的室内区域,因此这个室内区域不用再画出来(对比上图)。


         需要解释一下,第二张图中摄像机只能看到门口那个Portal的一小部分,视锥被Portal裁减后用来观察室外区域的新视锥已经很小了,可是室外区域的很多部分还是画了出来。这跟wow的场景建模有关,wow中一个区域内大部分mesh都是按材质整合成大片网格,它们基本上横跨整个区域,很难被视锥剪裁掉了。但是wow中的城镇基本上都有上百个区域,按区域裁减粒度已经足够小了。另外,按区域进行绘制遍历的一个顺带的好处是绘制顺序基本上都是按由近到远进行的,可以通过ZBuffer测试避免被遮挡的像素输出。

  • 相关阅读:
    Maven项目打包时指定配置策略
    使Jackson和Mybatis支持JSR310标准
    Java 8的Time包常用API
    MySQL 聚集拼接
    将List<E>内对象按照某个字段排序
    判断List<E>内是否有重复对象
    eclipse中Maven项目启动报错“3 字节的 UTF-8 序列的字节 3 无效。”
    控制层@Value注解取不到值
    IntelliJ IDEA实时代码模板
    OD: Exploit Me
  • 原文地址:https://www.cnblogs.com/cproom/p/747167.html
Copyright © 2011-2022 走看看