Kamera unter Wasser: Welche Lösung ist empfehlenswert?



  • Ich hätte jetz diese beiden Ideen gehabt:

    1. ein halbtransparentes Viereck mit blauer Streufarbe vor der Kamera zeichnen (das erschien mir unprofessionell. Es müsste ja weiter als die nahe Clipping-Ebene sein und somit auch entsprechend groß. Sähe in einem MultiPlayer sicher kacke aus)

    oder

    2. den Bildpuffer transparent löschen

    beides nur wenn die Kamera unter Wasser ist.

    2. habe ich gerade versucht aber die IDirect3DDevice9::Clear methode scheint nicht auf den bei D3DCOLOR_ARGB enthaltenen Alphawert anzuspringen.

    solltet ihr andere bessere Ideen haben oder einen Realisierungsvorschlag machen können, einfach Kommentar abgeben 😉



  • Klar verwendet Clear() den Alpha-Wert, aber nicht so wie du dachtest: es schreibt ihn einfach 1:1 so wie übergeben in den Back-Buffer.

    Und was soll an Lösung 1 jetzt so besonders schlecht/problematisch/... sein?
    Zeichne ein Rechtek mit pre-transformed Vertices das über den ganzen Bildschirm geht. Den Z Vergleich und Z-Buffer Update deaktivierst du einfach, ebenso die Clipping Planes.

    Eine andere Möglichkeit wäre die Verfärbung im Shader zu machen, so dass du nachträglich gar nichts mehr drüberzeichnen/verfärben musst.



  • sorry, hab grad gemerkt, dass du Direct3d meinst, sorry nicht beachten


Anmelden zum Antworten