怎么关闭angle算法,Angle 模式

首页 > 实用技巧 > 作者:YD1662024-01-17 02:29:52

我们也找到了一些迷人的属性。首先,能量似乎随着频率的增加而增加,在某些频率中有可见的“尖峰”,更有趣的是,下一个尖峰发生在黄金比例倍数上,它的黄金比例倍增。对此,我没有任何的解释,如果你在数学上比我更好,请发表一下评论。

这种频率特性是非常有用的,但不能满足我们所有的抖动需求。为什么呢?假设我们抖动的信号源包含相同的频率,那么我们会在这些频率中看到额外的混叠。任何用于抖动的噪声结构都会变得可见,并且可能产生不符合预期的混叠。

我仍然认为这个序列非常有价值,并且在例如时间技术(以及半球形采样)中大量使用它。还有其他非常有用的低差异序列在渲染中被大量使用 - 我不会在这里介绍这些,而是将参考Matt Pharr,Wenzel Jakob和Greg Humphreys的基于物理的渲染“圣经”第三版:从理论到实现的第七章放在这里,也感谢作者们免费提供。现在让我们来看看蓝噪声和理论上“完美”的抖动序列。

蓝噪声

什么是蓝噪声?维基百科这样定义:蓝噪声也被称为良性噪声。蓝噪声的功率密度随着频率的增加(与f成比例的密度)在有限的频率范围内增加3 dB。在计算机图形学中,术语“蓝噪声”有时被更宽松地用作具有最小的低频分量的噪声,并且没有集中的能量尖峰。而我们这里会使用更自由的定义(频率分布密度增加没有严格的定义)。

我们很快会发现,以前的黄金比例序列不是蓝噪声,因为它有很多可见的频谱峰值。完美的蓝噪声没有尖峰,因此不容易产生混叠或放大这些频率。有很多算法可以产生蓝色的噪音,不幸的是,许多算法都获得了大量的专利。我们将看看可以用来产生近似蓝噪声的两种相对简单的技术。

产生蓝色噪声 - 高通滤波和重映射

我们将会看到的第一个技术来自于Timothy Lottes和他的AMD GPUOpen 博客上的文章电影艺术。这个技术很简单,但是却很棒-第一步我们获得不期望的频谱的噪声,然后使用高斯滤波器来重塑它。不幸的是,任意的高通滤波器将产生具有非常不均匀的直方图的信号和与原始噪声分布完全不同的取值范围:

怎么关闭angle算法,Angle 模式(5)

原来在0到1范围内的随机噪声,经过随机高斯滤波之后的结果

该算法的第二步:强制在0到1之间重塑直方图,这一步也比较简单,按照元素的值进行排序,然后将值重新映射到列表中的位置。效果更好了:

怎么关闭angle算法,Angle 模式(6)

不幸的是,重映射直方图的操作也改变了频谱。这是不可避免的,因为直方图重新映射改变元素的相对值不是线性的。直方图中间的值(对应于原本已经失去低频分量的区域)将比具有高频率内容的区域中的值更多。这样一来,高通滤波效果就会消失:

怎么关闭angle算法,Angle 模式(7)

重映射之前的直方图(红色)和重映射之后的直方图(黑色),手动重新归一化。

注意一些低频分量是否重新出现。没有高通滤波,看起来效果也不错:

怎么关闭angle算法,Angle 模式(8)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.