Prioritäten beim Zeichnen von Triangles setzen?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
starcow
Establishment
Beiträge: 523
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub
Kontaktdaten:

Prioritäten beim Zeichnen von Triangles setzen?

Beitrag von starcow »

Hallo Zusammen

Die Frage klingt vielleicht etwas seltsam: Ich überlege, ob es vielleicht ein einfacher Ansatz geben könnte, wie man gewissen Polygonen (oder ganzen Meshes) beim rendern eine Art "Vorzug" geben könnte.
Und zwar habe ich immer wieder die Situation, in welcher Polygone exakt ineinander zu liegen kommen.
So z. B. bei einem Fussboden, auf welchem ein Teppich platziert werden soll. Tie Teppich-Textur befindet sich auf einem simplen Quad.
Den Teppich einfach ein klein wenig oberhalb des Fussboden-Meshes zu platzieren, scheint mir aber keine wirklich saubere Lösung zu sein.
Erstens fällt das optisch schneller auf, als man meinen könnte, dass hier eine Fläche im Raum "schwebt" - und zweitens kommt es, je näher der Teppich über dem Fussboden schwebt, zu "flickernden" Z-Fights.

Konkret suche ich nun einen konzeptionellen Ansatz, wie man dem Renderer mitteilen könnte: Falls mit einer Genauigkeit von X.XX nicht eindeutig entscheidbar ist, welche Fläche näher beim Betrachter liegt, dann Nimm Mesh X.

So könnte man den Teppich-Mesh sauber auf der Höhe des Fussbodens platzieren und beim Rendering würde man nicht Gefahr laufen, dass es zu Z-Fights kommt.

Hab ihr vielleicht eine Idee dazu?

Gruss starcow
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Benutzeravatar
xq
Establishment
Beiträge: 1581
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Prioritäten beim Zeichnen von Triangles setzen?

Beitrag von xq »

Eine kurze Antwort: https://www.khronos.org/registry/OpenGL ... fset.xhtml
Z-Buffer-Wert für die "wichtigen" meshes erhöhen, ohne die Rendermatrizen anpassen zu müssen
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
starcow
Establishment
Beiträge: 523
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub
Kontaktdaten:

Re: Prioritäten beim Zeichnen von Triangles setzen?

Beitrag von starcow »

Ok, interessant! Vielen Dank!
Kann es denn nicht sein, dass durch die höhere Genauigkeit gleiche oder gar kleinere Depth-Werte resultieren?

Gruss starcow
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Antworten