Mein Ziel ist es, genaue Reflexionen für bestimmte 3D-Objekte (hauptsächlich Lichter) in XNA 4.0 zu erstellen, die anhand einer dynamischen Cubemap abgetastet wurden.
Um die Cubemap abzutasten, berechne ich den 3D-Reflexionsvektor auf klassische Weise:
half3 ReflectionVec = reflect(-directionToCamera, Normal.rgb);
Ich benutze dann den Vektor, um die tatsächlich reflektierte Farbe zu erhalten:
half3 ReflectionCol = texCUBElod(ReflectionSampler, float4(ReflectionVec, 0));
Die Cubemap, aus der ich eine Stichprobe mache, ist ein RenderTarget mit 6 flachen Flächen.
Meine Frage ist also angesichts der 3D-Weltposition eines beliebigen 3D-Objekts, wie ich sicherstellen kann, dass ich beim erneuten Rendern der Cubemap genaue Reflexionen dieses Objekts erhalte. Sollte ich die ViewProjection-Matrix auf eine bestimmte Weise erstellen? Oder gibt es einen anderen Ansatz?
quelle