Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mär 28, 2024 23:34

Foren-Übersicht » Programmierung » Shader
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Wieso ist die Mesh noch sichtbar ?
BeitragVerfasst: Fr Dez 29, 2017 17:38 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
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 | 7884-mal betrachtet ]

_________________
OpenGL
Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Dez 29, 2017 21:35 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
post projection matrix pls

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Jan 23, 2018 10:45 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
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

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Jan 23, 2018 16:59 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
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.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.194s | 19 Queries | GZIP : On ]