编程黑洞网
首页
编程
数据库
代码审查
网络应用
Android
wordpress
软件推荐
软件工程
逆向工程
信息安全
软件质量测试
地理信息
密码学
网站管理员
元堆栈交换
网络工程
操作系统
Ubuntu
计算机
Unix和Linux
服务器故障
Vi和Vim
运维
物联网
机器人
树莓派
计算机图形学
信号处理
低通滤波
计算机图形学
|
2021-01-12
|
编程黑洞网
|
0条评论
|
627 人阅读
低通滤波是否可以应用于光线跟踪?
我的猜测是,由于算法运行后,我们有了图像,因此低通滤波有助于防止发生混叠。但是,我对此不确定。有人可以详细说明吗?
#1 楼
低通滤波是信号理论中的经典工具,可以有效消除噪声,如您建议的那样,但也可以消除图像中所需的高频信息,例如尖锐边缘。图像看起来很模糊。
后滤波的蒙特卡洛渲染结果是一个开放的研究领域,多年来已经取得了许多进展,有关这些概述的概述可以在《对您的蒙特卡洛进行降噪》中找到。渲染器:此处的图像空间自适应采样和重构SIGGRAPH课程的最新进展。
#2 楼
David Kuri的答案提出了一种现代方法,但是一个易于实现的解决方案是显式地对抖动进行超采样。经典论文:http://www.cs.cmu.edu/afs/cs/academic/class/15869-f11/www/readings/cook86_sampling.pdf。
评论
$ \ begingroup $
请注意,有一个根本的区别:超级采样(使用抖动或任何其他技术)需要额外的采样,而后置滤波器(如建议的低通滤波器)在渲染的图像上起作用。但是,这是有价值的附加信息,并且这两种技术是齐头并进的。
$ \ endgroup $
– David Kuri
16年1月25日在12:47
$ \ begingroup $
我最初没有看到您的回答(带有某种随机超采样的抗锯齿),但是您的回答更好。我仍然认为较旧的论文仍然值得参考,因此我更改了答案而不是删除它。我希望这是合理的礼节吗?
$ \ endgroup $
–丹尼尔·格塞尔(Daniel M Gessel)
16年1月25日在17:34
$ \ begingroup $
总的来说,您的回答是一个很好的补充:)我只是想确保没有人感到困惑。
$ \ endgroup $
– David Kuri
16年1月26日在8:43
$ \ begingroup $
理解了。真正的原因在于,混叠是由于初始采样以固定的间隔进行的:如果每个采样都击中栅栏的栅栏,那么您将被困在白色的墙壁上。在常规采样的图像上应用低通滤波器并不是普遍有效的方法(高频纠察栅别名为低频伪像-白墙)。
$ \ endgroup $
–丹尼尔·格塞尔(Daniel M Gessel)
16年1月26日在14:00
$ \ begingroup $
后过滤方法也似乎是一个非常有趣的现代CPU(具有集成GPU)的负载平衡问题。使用有效跟踪此类数据结构的CPU内核进行光线跟踪,然后在GPU上对图像进行后处理。好玩的项目!
$ \ endgroup $
–丹尼尔·格塞尔(Daniel M Gessel)
16年1月26日在14:02
计算机图形学当前存在哪些未解决的问题?
场景的环境光强度公式?
标签列表
java
(11)
r
(3)
r-faq
(3)
javascript
(17)
jquery
(3)
asynchronous
(2)
php
(17)
mysql
(7)
sql
(3)
html
(2)
regex
(2)
arrays
(2)
variables
(3)
warnings
(2)
language-agnostic
(2)
c++
(9)
c++-faq
(8)
parsing
(2)
debugging
(5)
c
(3)
error-handling
(3)
python
(10)
pandas
(3)
android
(3)
list
(3)
最近发表
IP地址错误的错误掩码
在Cisco IOS中自动进行配置备份(每分钟)
VRRP和HSRP有什么区别?
IP地址如何映射到MAC地址?
网站可以识别我的MAC地址吗?
在STP中如何选择根桥?
为什么要使用三根以太网电缆将交换机连接到路由器?
为什么10.1.255.255是无效的广播地址?
为什么将IP地址分配给每个接口而不是设备?这将意味着什么?
为什么Visual Studio 2013不愿意运行我的Web性能/负载测试?
对测试代码了解太多会不利吗?
如何隔离错误?
如何使用Selenium和WebDriver清除localStorage
评估测试项目
我如何说服管理层我们需要一个正式的质量保证部门?
FluentWait与WebDriverWait有何不同?
简历和求职建议-从开发到测试的职业转变
您如何等待Selenium 2中的jQuery Ajax调用完成
在持续开发下测试应用程序
Selenium的页面加载默认超时是多少?
IT项目中软件测试的真正商业价值是什么?
系统测试与系统集成测试(SIT)有何不同?
如何找到我们的“质量保证流程”的弱点?
测试人员应如何处理生产中发现的错误?
如果我不使用TDD但想过渡到敏捷,那我应该回去创建那些单元测试吗?
代码覆盖率和测试覆盖率有什么区别?
当团队想要忽略关键但难以重现的错误时,我应该如何应对
测试人员应该修复错误吗?
审核测试自动化代码的良好实践
质量检查人员应该能够编写测试代码吗?
随机文章
如何使用Java发出多部分/表单数据POST请求?
不同架构的二进制文件中的字节频率?
在剥离的动态ELF库中查找函数
在二进制文件中查找C ++ STL函数
Decoding the wire protocol (over RS232) for custom hardware <-> windows application?
无法锁定管理目录(/ var / lib / dpkg /)是另一个使用它的进程吗?
您会推荐哪些书来开始学习软件测试
区块链真的可以阻止物联网中的恶意软件吗?
关于在MQTT中建立客户端-服务器连接的困惑
搜索域名可用性的最安全方法是什么?
评论
$ \ begingroup $
请注意,有一个根本的区别:超级采样(使用抖动或任何其他技术)需要额外的采样,而后置滤波器(如建议的低通滤波器)在渲染的图像上起作用。但是,这是有价值的附加信息,并且这两种技术是齐头并进的。
$ \ endgroup $
– David Kuri
16年1月25日在12:47
$ \ begingroup $
我最初没有看到您的回答(带有某种随机超采样的抗锯齿),但是您的回答更好。我仍然认为较旧的论文仍然值得参考,因此我更改了答案而不是删除它。我希望这是合理的礼节吗?
$ \ endgroup $
–丹尼尔·格塞尔(Daniel M Gessel)
16年1月25日在17:34
$ \ begingroup $
总的来说,您的回答是一个很好的补充:)我只是想确保没有人感到困惑。
$ \ endgroup $
– David Kuri
16年1月26日在8:43
$ \ begingroup $
理解了。真正的原因在于,混叠是由于初始采样以固定的间隔进行的:如果每个采样都击中栅栏的栅栏,那么您将被困在白色的墙壁上。在常规采样的图像上应用低通滤波器并不是普遍有效的方法(高频纠察栅别名为低频伪像-白墙)。
$ \ endgroup $
–丹尼尔·格塞尔(Daniel M Gessel)
16年1月26日在14:00
$ \ begingroup $
后过滤方法也似乎是一个非常有趣的现代CPU(具有集成GPU)的负载平衡问题。使用有效跟踪此类数据结构的CPU内核进行光线跟踪,然后在GPU上对图像进行后处理。好玩的项目!
$ \ endgroup $
–丹尼尔·格塞尔(Daniel M Gessel)
16年1月26日在14:02