それに応じて目の空間の位置をテクスチャに保存する遅延レンダリングを使用しています。
バーテックス:
gl_Position = vec4(vertex_position, 1.0);
ジオメトリ:
vertexOut.position = vec3(viewMatrix * modelMatrix * gl_in[i].gl_Position);
断片:
positionOut = vec3(vertexIn.position);
次に、2 番目のパス (ライティング パス) で、この vec4 から計算された UV 座標を使用して、シャドウ マップをサンプリングしようとしています。
vec4 lightSpacePos = lightProjectionMatrix * lightViewMatrix * lightModelMatrix * vec4(position, 1.0);
使用される位置は、位置テクスチャから保存およびサンプリングされた位置と同じです。この計算を行う前に、逆カメラ ビュー マトリックスを使用して位置を変換する必要がありますか? それをワールド空間に戻すには、どうすればよいですか?