【shader】学习记录贴 Day19 增加受局部光照影响 点光源
shader吧
全部回复
仅看楼主
level 8
縩🐷师傅 楼主
shader里面要对点光源受影响
主灯换成点光源
VH(跟L N相关)背面照明这个跟正面计算高光,用布林冯的半角向量(L V)不一样
//间接光 灯光颜色不一样,衰减 ,方向
2023年07月24日 01点07分 1
level 8
縩🐷师傅 楼主
half3 LightningSSS(half3 L,half3 N,half3 V,half thickness.,half3 lightColor)
{
}
//直接光
//多盏间接光
for(int index=0;index<GetAddtionalLightCount();indexi++)
{
Light light = GetAddtionalLight(index,i.posWS);
//灯光的衰减和灯光阴影的衰减
light.color*light.distanceAttenuation*light.shadowAttenuation
}
2023年07月24日 01点07分 2
level 8
縩🐷师傅 楼主
if语句会被翻译成step函数
2023年07月24日 01点07分 3
level 8
縩🐷师傅 楼主
阴影渲染的像素部分
死黑如何做成半透明的
Blend 颜色混合状态设置
选取
Blend SrcAlpha OneMinusSrcAlpha
=>纹理混合知识
阴影斑驳不清的阴影
由于角色身体正面的三角形和背面的三角形都被渲染了,重叠了,渲染了两次
怎么解决?重叠部分只绘制一次
要用到模板缓冲区
系统有三个缓冲区, 颜色缓冲区,深度缓冲区,模板缓冲区
1.首先开启模板测试
2.设置模板参考值为1
3.模板值不为1通过测试
4.第二次已经是1了,不满足条件,测试失败
Stencil
{
Ref 1
Comp NotEqual
Pass Replace
Fail Keep
}
阴影渲染正常了
2023年07月24日 10点07分 4
1