Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

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:


(Link)


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 382

Wohnort: Hildesheim

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: 142

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 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

05.12.2017, 10:17

Genau gesagt gilt das für konvexe Objekte.

Werbeanzeige