我需要一些帮助在我的演示中实现影子卷。我已经找到了一些 GLSL 着色器文件,并且我已经创建了一个合适的着色器加载器。我所需要的只是知道如何以正确的方式实现它。我正在使用LWJGL 2.9.0。
shadowvolumes.vs
void main()
{
vec4 lightAngle;
vec4 pos;
lightAngle = normalize(gl_Vertex-gl_ModelViewMatrixInverse*gl_LightSource[0].position);
if (dot(gl_Normal,lightAngle.xyz)<0.0)
{
if (gl_Color.r>0.0)
pos = gl_Vertex+lightAngle * 10.0;
else
pos = gl_Vertex;
}
else {
pos = vec4(0.0, 0.0, 0.0, 0.0);
}
gl_Position = gl_ModelViewProjectionMatrix*pos;
}
shadowvolumes.fs
void main()
{
gl_FragColor = vec4(0.1, 0.1, 0.1, 1.0);
}
只是提供尽可能多的建议。