我正在研究ThreeJS项目,并且正在编写自定义着色器材料。过去,当我使用Amplify Shader Editor在Unity中工作时,“光衰减”节点也包含阴影。我正尝试在GLSL中复制它,但我不知道如何。
对于光衰减,我具有以下功能,该功能似乎可以正常工作,但这不包括阴影。你知道我如何添加阴影吗?
在我的情况下, lightPosition
是制服,而 vPos
是从顶点着色器提取的顶点位置。我的片段着色器中有这段代码。
float lightAttenuation()
{
float distance = length(lightPosition - vPos);
return 1.0 / (distance * distance);
}
最好的问候, 尼克