立方体纹理的反射

1、反射效果

在Unity Shader中,反射效果模拟了物体表面反射环境光的特性,使得物体看起来像镜子或金属表面,能够反射周围环境的图像。

2、反射效果的原理

反射效果的原理就是利用 立方体纹理(CubeMap)进行环境映射,我们利用摄像机看向物体表面顶点的方向向量作为入射光,结合顶点法线向量可以算出反射向量,然后利用反射方向向量在立方体纹理中进行采样,得到最终反射的颜色。

光路可逆原则:
如果光在某一路径上从点A传播到点B,那么光在同一路径上可以从点B传播回点A。换句话说,
光的传播路径在没有任何变化的情况下可以被反向利用。

3、反射的基础实现

(1)属性声明: 我们将声明2个关键属性,立方体纹理,反射率(0~1)之间

(2)顶点着色器

  1. 顶点坐标转裁剪坐标
  2. 顶点法线转世界坐标
  3. 顶点坐标转世界坐标
  4. 世界空间下 视角方向计算
  5. 视角反向逆向得到反射方向

(3)片元着色器

  1. 立方体纹理采样(利用texCUBE函数)
  2. 结合反射程度返回最终颜色
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值