简单模型背光

//SSS color
half3 SSS(float3 normalDir, Light mainLight, float3 viewDir, half sdm, half4 SSScolor, float power, float scale)
{
	half3 sssColor = 1;
	float3 lightDir = -mainLight.direction;
	float3 lightDirADD = sdm * normalDir + lightDir;
	float LdotV = saturate(dot(lightDirADD, viewDir));
	float sssPower = saturate(pow(LdotV, power) * scale);
	sssColor = SSScolor.rgb * sssPower * mainLight.shadowAttenuation;
	return sssColor;
}

//背光3阶渐变
float Stair(float3 posWS,float objY, float4 adjust, float farthest)
{
	float y = objY;
	//背光效果区分3个Y值区间
	float up1 = smoothstep(0,1,pow(saturate(y) , adjust.z));
	float up2 = smoothstep(0,1,pow(saturate(y) , adjust.w));
	float up3 = smoothstep(0,1,pow(saturate(y) , farthest));;
	
	float ler = 1;
    float d1 = distance(_WorldSpaceCameraPos.xyz, posWS)/adjust.y;//far
    float d2 = distance(_WorldSpaceCameraPos.xyz, posWS)/adjust.x;//near
    float lod0 =smoothstep(0,1, d2);
    float lod1 = smoothstep(0,1, d1);
    ler = lerp(up2, up3, lod1);
    ler = lerp(up1, ler, lod0);

	return ler;
}
	

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值