DGL
https://delphigl.com/forum/

Wieso ist die Mesh noch sichtbar ?
https://delphigl.com/forum/viewtopic.php?f=20&t=11622
Seite 1 von 1

Autor:  mathias [ Fr Dez 29, 2017 17:38 ]
Betreff des Beitrags:  Wieso ist die Mesh noch sichtbar ?

Der Bereich im Z geht nach meines Wissens von -1.0 - 1.0. Wieso ist die Mesh noch sichtbar, obwohl ich sie um 600.0 ins Minus schiebe ?
Ohne Verschiebung ist die Mesh ganz sichtbar.
Könnte dies einen Zusammenhang mit den Frustum, welcher in Matrix vorhanden ist ?
Code:
  1. void main(void)
  2. {
  3.   gl_Position = Matrix * vec4(inPos, 1.0);
  4.   gl_Position.z -= 600.0;


Dateianhänge:
Bildschirmfoto vom 2017-12-29 17-34-47.png
Bildschirmfoto vom 2017-12-29 17-34-47.png [ 44.96 KiB | 7898-mal betrachtet ]

Autor:  end [ Fr Dez 29, 2017 21:35 ]
Betreff des Beitrags:  Re: Wieso ist die Mesh noch sichtbar ?

post projection matrix pls

Autor:  Lord Horazont [ Di Jan 23, 2018 10:45 ]
Betreff des Beitrags:  Re: Wieso ist die Mesh noch sichtbar ?

Es gibt mehrere Wertebereiche für Z, je nach dem wovon wir reden. In Window Coordinates (WC; das was am Ende im Tiefenbuffer landet) ist der Bereich 0..1. In Normalisierten Gerätekoordinaten (Normalized Device Coordinates, NDC) ist der Bereich per default -1 bis 1; wie von -1 bzw. 1 NDC auf 0 bzw. 1 WC gemappt wird kann man mit glDepthRange beeinflussen.

NDC entstehen nach der Anwendung der Matrizen auf die Vertexdaten und der Division durch w. Je nach dem wie deine Matrizen aufgesetzt sind kann es also dazu kommen, dass 600 noch eine vollkommen okaye Koordinate ist; z.B. wenn du eine klassische perspektivische Projektionsmatrix nutzt die für den Bereich 1 bis 1000 konfiguriert wurde (gluPerspective). Dann wird nach der Anwendung der Matrix dein z irgendwo in der gegend von 0.2 rumhängen und damit noch vollkommen im Bereich von -1 bis 1 für NDC sein.

Lange Rede kurzer Sinn: Um deine Frage wirklich beantworten zu können müssen wir mehr über die Matrizen wissen :).

viele Grüße,
Horazont

Autor:  mathias [ Di Jan 23, 2018 16:59 ]
Betreff des Beitrags:  Re: Wieso ist die Mesh noch sichtbar ?

Zitat:
Lange Rede kurzer Sinn: Um deine Frage wirklich beantworten zu können müssen wir mehr über die Matrizen wissen :).

Wie du schreibst, liegt dies am "w" im Vector, da die Matrix Frustum enthält. Somit ist die Frage geklärt.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/