shader学习之路——照模型计算公式

漫反射计算公式:
基本光照模型漫反射部分计算公式:
(入射光线的颜色和强度 * 材质的漫反射系数)*[(表面法线 * 光源方向)最小值取0]
saturate(x)函数:x:为用于操作的标量或矢量,可以是float、float2、float3等类型。把X截取在[0,1]范围之内,如果x是一个矢量,那么会对他每一个分量进行这样的操作。

半兰伯特模型:(此公式没有任何物理依据,仅是一个视觉加强技术)
入射光线的颜色和强度 * 材质的漫反射系数)[(表面法线 * 光源方向) 缩放倍数 + 偏移]
通常情况下缩放倍数和偏移为0.5
通过这样的方式可以把法线*光源方向的值从[-1,1]映射到[0,1]范围内;

高光反射计算公式:
(入射光线的颜色和强度 * 材质的高光反射系数)pow([(视角方向 * 反射方向)最小值取0],幂) //pow会使高光看起来更聚合
反射方向 = 2 ( 表面法线 * 光源方向) 表面法线 - 光源方向 此公式Unity提供了封装好的接口reflect(i,n)

Blinn_Phong光照模型
h=视角方向+光照方向相加的结果归一化
(入射光线的颜色和强度 * 材质的高光反射系数)pow([(法线 * h)最小值取0],幂)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值