计算机图形学——学习记录四(物体表示的空间细分技术-体素)

文章内容是对《3D计算机图形学》(第三版)一书的学习记录。
空间细分技术是基于体素的一个小立方体元素。将整个空间细分为规则的或者是立体的体素,根据它是处于物体当中的还是来自空的空间,对每一个体素进行标记。
在体素空间中进行光线追踪与传统的光线追踪方式相比具有很大的优势。因为在提速空间相当与在求解这样一个问题,当在跟踪一条通过体素空间的光线时,会碰到什么样的物体。
体素标记的主要问题是巨大的存储空间开销和精确度之间的一种折中。组织体素数据最常用的一种方式是八叉树,描述了空间中的物体是如何在场景多占用的三维空间中分布的。

八叉树

对于复杂的场景,需要将其所在空间分为非常大量的小单元以便得到高分辨率的物体的表示。八叉树的存储方式可以减少这种巨大的存储空间要求。
可以使用一种标准的数据结构进行物体的表示,并使用八叉树作为场景中物体分布的表示。
在这种情况下,代表一个被占据区域的树的终端节点将由一个只想任何包含在该区域中的物体(或者物体的一部分)的数据结构的指针来表示。如下图:
在这里插入图片描述
在这里一旦碰到一个区域只与一个物体相交的情况就停止进行区域的细分。终端节点表示的区域不一定完全被与这个区域相关联的物体所占据。
在光线追踪算法中,高成本在于相交的测试。当对一条光线穿过场景进行跟踪时,必须求出场景中任意物体和光线的相撞(以及该点所处的位置)。对每一条光线是否和场景中所有的物体相交进行测试时,相对于对物体中的每一个多边形进行测试,对于复杂度合理的场景来说,所需的绘制时间很长。如果将场景分解成一个八叉树来表示,那么跟踪光线意味着使用从一个体素到另一个体素的增量算法进行跟踪,每一个体素都含有它所在的多边形的指针,测试就是求光线和这些多边形的指针之间的关系。这是相交就从多个物体的多边形的个数降为了八叉树叶子所包含的候选多边形的数量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值