Du bist nicht angemeldet.

Werbeanzeige

1

10.10.2017, 08:24

OpenGL-Problem mit Transparenz

Hi,

ich zeichne mit OpenGL einen Zylinder, dessen Mantel transparent ist. Spannenderweise gibt es am Übergang zwischen Anfang und Ende des Triangle-Strips, welcher den Mantel bildet, einen seltsamen Effekt:



So wie es aussieht, hat das irgendwas mit der Zeichenreihenfolge des Mantels zu tun, an einigen Stellen wirkt die Transparenz doppelt und deswegen dunkler - für einen Teil der Geometrie gilt die Regel "Transparenz zum Schluss zeichnen" zwangsläufig nicht, da ich ja irgendwo anfangen muss.

Meine Frage: was kann man dagegen tun?

Danke!

David Scherfgen

Administrator

Beiträge: 10 089

Wohnort: Bonn

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

10.10.2017, 08:41

Du hast wahrscheinlich das Schreiben in den Z-Buffer aktiviert. Das musst du ausschalten.
https://www.khronos.org/registry/OpenGL-…glDepthMask.xml

Der Z-Test hingegen bleibt aktiv.

3

10.10.2017, 08:50

Jaaaa, das war's! Danke für die schnelle Hilfe :-)

SlinDev

Treue Seele

Beiträge: 143

Wohnort: Lübeck

Beruf: Programmierer

  • Private Nachricht senden

4

02.12.2017, 14:35

Ich bin etwas spät, aber bei Objekten wie dem Zylinder oder auch Kugeln kann man auch gut doppelt rendern, erst nur die back faces und dann nur die front faces, dann kannst du auch trotzdem den depthbuffer voll nutzen.

David Scherfgen

Administrator

Beiträge: 10 089

Wohnort: Bonn

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

05.12.2017, 10:17

Genau gesagt gilt das für konvexe Objekte.

Werbeanzeige