Abstand aus Z-Puffer: Z-Puffer linearisieren, woher kommt diese Formel?!



  • Hallo,
    ich habe mir gerade angelesen, dass der Z-Puffer-Wert reziprok zum Abstand ist, also:

    Puffer-Wert(Z-Abstand) ~ 1 / Z-Abstand

    Wobei
    Puffer-Wert(Z-nah) = 0,
    Puffer-Wert(Z-fern) = 1.
    Sprich der Puffer-Wert liegt im Bereich [0 ... 1], da Z-nah < Z-Abstand < Z-fern.

    Jetzt möchte ich gerne den Abstand aus den Puffer-Werten errechnen, und als Graustufe abbilden.
    Da ich nicht der erste bin, der das machen möchte, habe ich diese Formel gefunden:

    Normalisierter-Abstand = ( 2.0 * zNear ) / ( zFar + zNear - depth * ( zFar - zNear ) )

    Weiß zufällig jemand, woher diese Formel kommt?!
    Der Z-Abstand liegt im Bereich [zNear ... zFar].
    Und der normalisierte Abstand liegt im Bereich [?? ... 1], wies aussieht.
    Aber so wie ich das sehe, sollte der doch eher im Bereich [0 ... 1] sein...

    Wie genau wurde da normalisiert??? Das würde mich mal interessieren...

    Gruß
    OpenGl-Fifi



  • Hat sich erledigt.. Wie bei allem im Netz, kann eine gewisse Portion Skepsis nicht schaden, sag ich nur..



  • Nenn uns doch bitte die Formel, wie man nun den Z-Puffer linearisiert.


Anmelden zum Antworten