1

光源からスポットライトとしてイメージを投影しようとしています。

これまでのところ、私のフラグメントシェーダーは次のようになります

uniform sampler2D image;
varying vec4 projCoord;

void main() {

gl_FragColor = texture2DProj(image, gl_TexCoord[0].xyzw);


}

そして、私の頂点シェーダーは次のようになります

varying vec4 projCoord;
void main() {
    gl_Position = gl_ModelViewMatrix * gl_Vertex;
    vec4 pos = gl_ModelViewMatrix * gl_Vertex;
    projCoord = gl_TextureMatrix[4] * pos;
}

光源から画像を投影したいだけです。ライト ベクトルを追加してそのように操作する必要があることはわかっていますが、イメージを正しく投影できません。Atm、私のイメージは 4 つの側面すべてにロードされたオブジェクト (立方体) に投影されます。

4

0 に答える 0