我需要一些帮助在我的演示中实施影子卷。我已经找到了一些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);
}
只要给尽可能多的意见成为可能。
这可以给你一些基本的信息:http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ – Grimmy