【Shader】次表面散射与各向异性高光

本文介绍了次表面散射(Sub-Surface-Scattering,3S)和各向异性高光的概念及其在Unity中的应用。3S用于模拟蜡烛、大理石等材质的内部散射效果,可以通过LUT贴图和Lambert光照模型实现。各向异性高光常用于头发渲染,基于Kajiya-Kay Model,可以利用noise贴图对高光进行扰动。
摘要由CSDN通过智能技术生成

一、次表面散射(Sub-Surface-Scattering)

        次表面散射,简称3S,用来描述光线穿过透明/半透明表面时发生散射的照明现象,是指光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程。

        次表面散射主要用于模拟不完全透明材质内部表现出来的一种真实光影特效, 主要用于模拟蜡烛、大理石、玉石、灯光照射下的人的皮肤等材质。

  • 如何利用一张LUT贴图模拟3S效果? → 只需通过Lambert光照模型与自定义滑块采样其uv

//需要一张皮肤区域的mask图
half skin_info = 1.0 - comp_mask.b;

//通过half-lambert采样贴图u坐标,材质开放滑块采样贴图v坐标
half3 NdotL = dot(nDir, lDir);
half diffuse_term = (max(0.0, NdotL) + 1.0 ) * 0.5;
half3 common_diffuse = diffuse_term * base_color * _LightColor0.xyz * atten;
half2 uv_lut_gamma = half2(diffuse_term * atten, _vLut);
half2 uv_lut = pow(uv_lut_gamma, 2.2);
half3 sss_term = tex2D(_S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值