1

デモにシャドウ ボリュームを実装するのに助けが必要です。既にいくつかの GLSL シェーダー ファイルを見つけており、適切なシェーダー ローダーを既に作成しています。必要なのは、それを正しい方法で実装する方法を知ることだけです。LWJGL 2.9.0を使用しています。

シャドウボリューム.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);
}

できるだけ多くのアドバイスをしてください。

4

1 に答える 1