最小速率和最大速率到底代表什么意思?
最大值如果为零,有一个特殊的含义。如果这个值是零,当前渲染这个图是640x480,那么它最密集的时候就是横向采640个点,纵向采480个点,相当于每个像素点采样。这就是最大速率值为0的意义。所以这个最小速率、最大速率与最终渲染出的图的大小是有关系的。
如果最大速率值为-1,就代表是当前出图分辨率的一半。比如假设所有的场景都使用-1(最大速率和最小速率都是-1),那就表示各处的采样间距是相同的。是当前分辨率的一半,也就是横向采320个点,纵向采240。比如我们把刚才渲染的图像显示出来,点帧缓冲区。
如果最小、最大速率均为0,每个点都会进行采样;如果两个值都是-1,就是每隔一个像素点进行采样。这样的密集度大家应该就可以理解了吧。所以-1就是当前分辨率的一半。
那么-2就是当前分辨率一半的一半,以640x480为例,分辨率就是160x120,并以此类推。-3就是原来的八分之一。所以这个值的最终判断就是:这个值其实是2的幂次方。如果这个值是正值,比如3,那就是2的3次方,也就是8倍.如果是-3,2的幂次方也是8,就是八分之一。
所以比如最小速率改为-6,那2的6次方就是64。那最小采样速率有多稀疏呢?它的稀疏度是你当前的出图分辨率的64分之一。那就是说最稀疏的地方横向只采10个点(640除以64),纵向就是(480除以64)7.5个点。事实上这是一个官方的解释,我们看一下效果。最小速率为-6,最大速率为-3进行渲染,观察一下效果。
大家可以看到墙面这个地方是最稀疏的,根据当前这个图像大小可以看到,基本上约等于十分之一。也就是说纵向最稀疏的地方才采10个点,是这样子的一个稀疏度。密集的地方就是-3.这就是最小速率以及最大速率的区别。
那么在这儿可能有人会问:这个值如果是零的话,已经代表着哪些像素点采样?如果当前640x48大小的话,已经达到最高采样了。也就是说每个像素点都进行采样了。那么这个值超过零还有意义吗?如果单纯就渲染一张图而言,如果这个值为0肯定基本上是最大值的,设定为超过0没有什么意义。那它为什么它允许你改成1或2或3呢?原因就在于光子贴图下面有个模式。这个模式就是我们可以把光子贴图保存起来,利用光子贴图渲染一个大图或者是一个漫画等等。这个随后会进行讲解,在这儿先暂时提一下。
一般来说-5和-2就能出很好的效果,然后根据你的场景稍稍调一下颜色阈值、距离阈值、和法线阈值。不过很少有场景需要三个值都去调的。
我们再来看一下细分,细分决定了采样点的精确度。什么叫采样点的精确度呢?比如这个点我们确定要采样了,那么这个点的亮度到底是多少呢?如何进行运算呢?我们来看一下发光图引擎的图解。
摄像机发生一条光线到方框点,然后根据发光图的判断,那什么叫根据它他的一个判断呢?因为发光图是一个自身细分,它得需要判断一下这个地方值不值得采点。判断的原则就是上篇文中讲到的阈值,根据三阈值判断。
当它判断出红框点需要采点的时候,那么它就会向外发射光线。这个发射光线类似于BF算法的分裂。它要综合考虑从各个物体反射的光线。比如当它判断这个黄色的瓶子的亮度有多亮时,除了直接照明、它还要判断沙发、相框、墙面反射给瓶子的光线。那么它到底从多少条光线来考虑这个点的亮度有多亮呢?这就是我们所说的细分值的意义。这个值越高所运算的点的亮度将会更加准确。这是一个非常好理解的参数。
我们再看一下BF算法,我们知道使用bf算法,他它会根据细分值进行分类,如果数值为8,表示分裂条数为64条。所谓的分裂是个反向预算,也就是它会从64个地方来进行判断,这个点到底获得多少光照,最终决定它有多亮。那么细分值也是如此,细分值就代表发光图引擎判断一个点的亮度会从多少条光线进行考虑。所以这个值越高,每个采样点的精度也就越高。
你还会发现一个奇怪的特点,首次引擎你可以选择发光图、光子图、BF、灯光缓存。可是二次引擎不能选择发光图,只能选择其他三个引擎。讲到这里应该明白为什么会有这种设定,因为发光图是唯一的一个完全自身细分,她需要在摄像机初始发射光线时就做出判断,到底哪里需要进行细分。然后将这个信息传递给二次反弹,以便进行运算。
所以从这个角度而言,自身细分肯定只能用于首次引擎,不可能用于二次引擎。因为到二次引擎的时候摄像机就已经不能保证是否能够看到这个物体了。所以二次引擎不可能使用发光图进行运算。
以上就是我们讲的发光图引擎的参数。还有一些比较简单的参数,比如说”使用摄像机路径“。这是一个很重要的参数,但是现在并不适合,所以我们回过头再讲它。还有”插值帧数“,插值采样下面这个灰色的参数,这也是非常有意义的,仅仅在于”动画渲染“是这个值才有意义。还有”显示计算相位“,它表示在渲染是它会显示一个计算相位。
内容来源于简一空间表现,版权归原作者所有;
本资料仅供学习研究之用,若此图库侵犯到您的权益,请与我们联系删除;
评论(0)