Prioritäten beim Zeichnen von Triangles setzen?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.

Prioritäten beim Zeichnen von Triangles setzen?

Beitragvon starcow » 02.03.2018, 15:33

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
starcow
Establishment
 
Beiträge: 232
Registriert: 23.04.2003, 17:42

Re: Prioritäten beim Zeichnen von Triangles setzen?

Beitragvon MasterQ32 » 02.03.2018, 17:06

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
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
Benutzeravatar
MasterQ32
Felix Queißner
Establishment
 
Beiträge: 1143
Registriert: 07.10.2012, 14:56

Re: Prioritäten beim Zeichnen von Triangles setzen?

Beitragvon starcow » 04.03.2018, 13:53

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
Benutzeravatar
starcow
Establishment
 
Beiträge: 232
Registriert: 23.04.2003, 17:42


Zurück zu Grafikprogrammierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron