Bedeutung und Verwendung des Parameters factor in glPolygonOffset
Ich habe Schwierigkeiten, die Bedeutung des ersten Parameters in zu verstehenglPolygonOffset
Funktion.
void glPolygonOffset(GLfloat factor, GLfloat units);
Die offizielle Dokumentation sagt diesen Faktor
Gibt einen Skalierungsfaktor an, mit dem für jedes Polygon ein variabler Tiefenversatz erstellt wird.
und das
Der Tiefenwert jedes Fragments wird versetzt, nachdem er aus den Tiefenwerten der entsprechenden Scheitelpunkte interpoliert wurde. Der Wert des Offsets ist Faktor × DZ + r × Einheiten, wobei DZ ein Maß für die Änderung der Tiefe relativ zur Bildschirmfläche des Polygons ist und r der kleinste Wert ist, der garantiert für einen gegebenen Wert einen auflösbaren Offset erzeugt Implementierung.
Ich verstehe wasr
undunit
sind. Was ich nicht verstehe, ist wasDZ
ist, d. h., was ist mit der "Messung der Änderung des Tiefenwerts im Bildschirmbereich des Polygons" gemeint und warum sollte ich jemals einen anderen Faktor als 0 einstellen müssen.
Wenn ich möchte, dass mein Drahtgitter versetzt wird, brauche ich nur ein paar Einheiten zum Tiefenwert hinzuzufügen / von diesem abzuheben, oder? Was ist die Bedeutung, der Zweck und das Verwendungsbeispiel des Faktorparameters (und der im Dokument erwähnten DZ)?