中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 2677|回复: 7

关于Smallptr中菲涅尔计算的一个疑问?

[复制链接]
发表于 2016-5-31 06:05:31 | 显示全部楼层 |阅读模式
本帖最后由 月色流光 于 2016-5-31 06:11 编辑

大家好,我在看Smallpt(99行光线跟踪器)时,关于其菲涅尔计算的部分有一点疑惑
在Smallpt中关于菲涅尔计算如下:
(PS:直接编辑代码总是只能显示一行,因此我用图片代替吧,见谅)
Re计算的依据是Fresnel Schlick's approximation
R = R(0) + (1-R(0))(1-cos\theta)^5
那么P的计算依据是什么呢?
为什么反射概率是这样计算的?
以及为什么需要用Re/P?

在PBRT中,貌似并没有见到这一点.
希望有知道其依据的可以告知一下或者给出相关的文章以便拜读
谢谢~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2016-5-31 10:46:49 | 显示全部楼层
P是经验设定的(依据好像是Realistic Ray Tracing)。二选一相当于使用了离散形式的importance sampling, 是无偏估计。 和两边都trace再相加是一样的。
 楼主| 发表于 2016-5-31 19:49:31 | 显示全部楼层
citadel 发表于 2016-5-31 10:46
P是经验设定的(依据好像是Realistic Ray Tracing)。二选一相当于使用了离散形式的importance sampling,  ...

谢谢您~不过关于这个离散形式的重要性采样还是有些不太懂,我再查查相关资料,再次感谢~
发表于 2016-5-31 23:26:30 | 显示全部楼层
月色流光 发表于 2016-5-31 19:49
谢谢您~不过关于这个离散形式的重要性采样还是有些不太懂,我再查查相关资料,再次感谢~ ...

应该说是函数定义域是离散的,直接积分就等效于相加,重要采样就是二选一
 楼主| 发表于 2016-6-1 07:39:37 | 显示全部楼层
citadel 发表于 2016-5-31 23:26
应该说是函数定义域是离散的,直接积分就等效于相加,重要采样就是二选一 ...

OK,懂了~
发表于 2016-6-3 04:51:47 | 显示全部楼层


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2016-11-9 20:25:40 | 显示全部楼层
wubugui 发表于 2016-6-3 04:51

请问这是哪本书?
发表于 2016-12-8 14:49:18 | 显示全部楼层
kakarotto 发表于 2016-11-9 20:25
请问这是哪本书?

Realistic Ray Tracing吧,
应该在第12章。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-4-20 01:31 , Processed in 0.079152 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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