Ich arbeite derzeit an Reflexionen auf dem Bildschirm. Ich habe perfekt reflektierende spiegelähnliche Oberflächen, und ich muss jetzt eine Unschärfe verwenden, um die Reflexion auf Oberflächen mit einem niedrigen Spiegelglanzwert diffuser erscheinen zu lassen. Ich habe jedoch Schwierigkeiten zu entscheiden, wie ich die Unschärfe anwenden soll.
Meine erste Idee war, nur eine niedrigere Mip-Ebene des Bildschirm-Rendertargets abzutasten. Das Rendertarget verwendet jedoch SurfaceFormat.HalfVector4 (für HDR-Effekte), was bedeutet, dass XNA keine lineare Filterung zulässt. Die Punktfilterung sieht schrecklich aus und gibt wirklich nicht den visuellen Hinweis, den ich will.
Ich habe darüber nachgedacht, eine Art Box / Gaußsche Unschärfe zu verwenden, aber das wäre nicht ideal. Ich habe den Textur-Cache bereits in der Raymarching-Phase zerstört, bevor die Unschärfe überhaupt auftritt (eine Reflexion im schlimmsten Fall könnte 32 Abtastwerte pro Pixel sein), und der Unschärfekern, um die Reflexionen ausreichend diffus erscheinen zu lassen, wäre ziemlich groß.
Hat jemand irgendwelche Vorschläge? Ich weiß, dass es machbar ist, da Photon Workshop den Effekt in Unity erzielt hat .