易码技术论坛

 找回密码
 加入易码
搜索
查看: 836|回复: 4

[求助] 路径追踪法

[复制链接]
发表于 2012-11-1 13:13:07 | 显示全部楼层 |阅读模式
在今年暑假的时候,我偶然看到了SmallPT这个99行程序写成的路径追踪程序。
于是就啃了啃里面的程序,大概了解了它的意思,移到了CUDA上…
因为我想修改它的程序,还想试试看最差的画质能有多快的运行速度…

结果是,在2008年买的戴尔XPS 1330笔记本上,将采样数弄到最低,让CPU与GPU一同运算,可以达到1FPS左右…
当然画面也是蛮惭愧的,因为我去掉了多重采样,也降低了每像素的采样次数。见第一张图。

当然,说到路径追踪,应该就会马上想到Photon mapping
我不知道这两种放一起会有什么有意思的现象…
但是将光子画出来还是蛮好玩的,即第二张图,哈哈

画面右边是用了最简单的逐点光照的Fragment Shader的预览图。

其实我是来问问题的。
现在在网上能看到某些实时的路径追踪渲染框架,譬如说,Brigade 2.
那里面应该有许多很fancy的玩意,比如说各种加速的数据结构,各种基于光照模型的hack,各种基于GPU架构的优化等等。
我想问的是像我这种将SmallPT拿来并肢解修改的方法是否永远踏不出初学者的水平,而是必须从头从看论文与公式开始从零写程序才能算是真正的理解。
其实我对这些答案有预期值,只是若有人回答则会更加确信这预期值。我之前有看刚体的碰撞与GJK的算法,在看那个的时候我确认照抄只能算作第一次学习时用的手法,而真的了解一种算法与原理,若如此般,则需要5~6遍重复才能算是懂了。
photons.png

LamePt.jpeg

161.32 KB, 下载次数: 434

发表于 2012-11-8 19:08:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2012-11-23 18:08:49 | 显示全部楼层
油画风格
发表于 2013-3-7 18:39:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2015-9-17 14:34:48 | 显示全部楼层
不错,学习了
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-23 17:13 , Processed in 0.012126 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表