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

Aktuelle Zeit: Mi Jul 16, 2025 16:33

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



Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 06, 2004 20:20 
Offline
DGL Member

Registriert: Mo Mai 03, 2004 01:55
Beiträge: 28
Das war jetzt unter Windows 98 der Ati Catalyst 4.3 auf ner Radeon 9600 XT.
Unter WinXP war es der Catalyst 4.4, das war aber glaub ich der selbe Fehler, müsste ich nochmal nachgucken.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 06, 2004 20:37 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Ich benutze für die Weitergabe von Texturekoordinaten immer eigene varyings an Stelle der vordefinierten wie z.B. gl_TexCoord[0].
Die Normale muß im Fragment Shader und nicht im Vertex Shader normalisiert werden, weil sie durch die Interpolation wieder denormalisiert wird.
Der ATI Treiber hat jedenfalls noch jede Menge verschiedene Probleme.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 06, 2004 21:05 
Offline
DGL Member

Registriert: Mo Mai 03, 2004 01:55
Beiträge: 28
Hm, ok aber sind meine Normalen nun korrekt oder nicht? :D Und wie lass ich mir die Normale im Fragmentshader ausgeben?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 06, 2004 21:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Die Normalen sehen jetzt recht korrekt aus, aber du hast wie Lars gesagt hat keine korrekten Per-Pixel-Normalen, da du im VS normalisierst und dieses normaliserte Ergebnis durch die Interpolation (von per-Vertex auf per-Fragment) im FS verfälscht wird.

Um auf gl_Normal im FS zuzugreifen, würde ich den einfach über eine Texturkoordinate an den FS übergeben, also so im VS :
Code:
  1. gl_TexCoord[7] = gl_Normal;

Im FS dann :
Code:
  1. glFragColor = normalize(gl_TexCoord[7]);
  2. glFragColor.A = 1.0

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]