13、光线追踪中的菲涅尔效应与立方体相交算法

光线追踪中的菲涅尔与立方体相交

光线追踪中的菲涅尔效应与立方体相交算法

菲涅尔效应

菲涅尔效应描述了光在透明表面上的行为。当你站在湖边时,直视水下能看到岩石和鱼,而望向远处岸边时,水变得更不透明,反射出更多风景。这是因为当眼睛与表面的夹角大时(如直视水下),反射光量相对透过表面的光量较少;夹角小时(如望向远处岸边),反射光量较大。

菲涅尔效应解决了全内反射导致的“黑屏”问题,反射和折射光线相互补充,使画面更平衡。不过,菲涅尔方程涉及的内容超出了模拟所需,如光的偏振,软件模拟会较慢。幸运的是,Christophe Schlick 提出了一个近似公式,速度更快且足够准确。

为实现这一效果,需要实现一个新函数 schlick(comps) ,它返回一个 0 到 1 之间的数,即反射率,表示在碰撞点处反射光的比例。实现该函数需要进行四个测试:
1. 全内反射时的反射率 :当满足全内反射条件时, schlick() 应返回 1。
- 测试代码如下:

Scenario: The Schlick approximation under total internal reflection
Given shape ←glass_sphere()
And r ←ray(point(0, 0, √2/2), vector(0, 1, 0))
And xs ←intersections(-√2/2:shape, √2/2:shape)
When comps ←prepare_computations(xs[1], r, xs)
An
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值