Clipping Planes
-
Hallo,
mal ne allgemeine Frage zu den Clipping-Planes die man z. B. in OpenGL mit glOrtho() einstellt.
Warum sollte man die Clipping-Planes nur so groß machen, dass die Objekte in ihr gezeichnet werden können und nicht doppelt so groß, oder 10x so groß?
Grüße
-
Falls du den Abstand zwischen near- und farplane meinst: Um die begrenzte Genauigkeit des z-Buffers möglichst gut auszunutzen sollte die nearplane möglichst weit weg von der Kamera und die farplane möglichst nah dran sein. Genaueres z.B. hier.
-
Was würde ein zu großer Abstand zwischen Far- und Near-ClippingPlane zur Folge haben? Okay der Buffer/je Einheit ist schlechter Aufgelöst...resultieren daraus Darstellungsfehler?
Wieviel bit hat denn der Z-Buffer für gewöhnlich?
danke schonmal
-
gartenkralle_deluxe schrieb:
Was würde ein zu großer Abstand zwischen Far- und Near-ClippingPlane zur Folge haben? Okay der Buffer/je Einheit ist schlechter Aufgelöst...resultieren daraus Darstellungsfehler?
http://en.wikipedia.org/wiki/Z-fighting
Wichtig ist vor allem dass die nearplane möglichst weit weg von der Kamera ist wie du ja in dem zuvor von mir verlinkten Dokument aufmerksam gelesen hast
gartenkralle_deluxe schrieb:
Wieviel bit hat denn der Z-Buffer für gewöhnlich?
24 bzw. 32, je nachdem ob du auch einen StencilBuffer verwendest oder nicht
-
Da es hier eigentlich gut dazu passt, wollte ich keinen eigenen Thread dafür aufmachen:
Wie wird Clipping eigentlich unter OpenGl 3.x gelöst?
Also ohne glClipPlane(...)
Ich habe etwas über gl_ClipDistance[] o.Ä. gelesen, allerdings leider keine Beispiele gefunden.
-
Nachtrag:
Damit meine ich vorallem Custom Clipping Planes
-
*push*
Ich würde mich wirklich über ein Code-Snippet dazu freuen.
-
Wo genau liegt denn dein Problem, du hast ja gl_ClipDistance schon gefunden!?
Du schreibst einfach in deinem VertexShader in gl_ClipDistance[i] den Abstand des Vertex von der jeweiligen Clip Plane rein und fertig.