各向异性渲染

各项异性定义

百度:各向异性、各向异性材料。
主要是用于渲染:头发、拉丝金属……

各项异性渲染核心

各项异性公式 :主要影响 “高光”的 数值,不影响漫反射的数值。

基础公式参考

漫反射公式:
C ( D i f f u s e ) = C ( L i g h t ) ∗ C ( M a t e r i a l ) ∗ C o s ( L ⃗ , N ⃗ ) C(Diffuse) = C(Light)*C(Material)*Cos(\vec{L} ,\vec{N} ) C(Diffuse)=C(Light)C(Material)Cos(L ,N )
漫反射的颜色 = 光颜色* 材质颜色(固有色)*光向量和法向量的余弦值。
普通高光公式:

f l o a t ( S p e c u l a r ) = s a t u r a t e ( C o s ( R ⃗ , V ⃗ ) ) k float(Specular) = saturate(Cos(\vec{R},\vec{V} ))^k float(Specular)=saturate(Cos(R ,V ))k
C ( S p e c u l a r ) = C ( L i g h t ) ∗ f l o a t ( S p e c u l a r ) C(Specular) = C(Light)* float(Specular) C(Specular)=C(Light)float(Specular)
高光倍数 = 光反射向量 和 视向量的余弦值 (限定在>0) 再 k 次方。 k 为高光系数。

各向异性高光公式:

d l = T ⃗ ⋅ L ⃗ dl = \vec{T}·\vec{L} dl=T L
d e = T ⃗ ⋅ V ⃗ de = \vec{T}·\vec{V} de=T V
C ( S p e c u l a r ) = C ( L i g h t ) ∗ C ( M a t e r i a l ) ∗ ( d l ∗ d e + 1 − d l ∗ d l ∗ 1 − d e ∗ d e ) k C(Specular) = C(Light)*C(Material)*(dl*de+\sqrt{1-dl*dl} *\sqrt{1-de*de} ) ^k C(Specular)=C(Light)C(Material)(dlde+1dldl 1dede )k
C ( S p e c u l a r ) = C ( L i g h t ) ∗ ( d l ∗ d e + 1 − d l ∗ d l ∗ 1 − d e ∗ d e ) k C(Specular) = C(Light)*(dl*de+\sqrt{1-dl*dl} *\sqrt{1-de*de} ) ^k C(Specular)=C(Light)(dlde+1dldl 1dede )k

第二个公式 才符合我的理解。
T 向量代表 切线向量。L、V 是光、视向量。
注意:dl、de 要映射到(0,1)

代码实现,显示结果:
在这里插入图片描述
可以看见,各向异性 效果是出来了,但是并不是我们想要的那种。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值