Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
24. Nov 2012
Du kannst schon 4 Punkte nehmen, die müssen aber in einer Ebene liegen. Du bekommst dann z.B. bei einer Kugel keine glatte Oberfläche, sondern viele Facetten. Wenn du im TGLSceneBuffer das ShadeModel auf smSmooth setzt, sieht das zwar bei Beleuchtung wieder glatt aus, die einzelnen Facetten bleiben geometrisch aber weiterhin erhalten. Das sieht man gut, wenn du ShadeModel zwischen smFlat und...
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
22. Nov 2012
Kann es sein, daß die Polygon-Punkte nicht in einer Ebene liegen? Bei einem Dreieck ist das immer der Fall, aber bei einerm Viereck kann das schon mal daneben gehen.
Ein Polygon soll immer in einer Ebene liegen. Andernfalls wäre das eine gekrümmte Fläche und die muss durch ausreichend planare Polygone angenähert werden.
Wenn das Polygon nicht planar ist, liegt der Schwerpunkt nicht...
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
21. Nov 2012
Kannst du hierzu wieder ein Beispiel-Projekt anhängen, bei dem das Problem auftritt? Die Theorie haben wir ja hier schon genügend behandelt.
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
25. Okt 2012
Bei der Tiefensortierung muss ja eine Reihenfolge der transparenten Objekte hergestellt werden. Dazu wird mangels brauchbarer Alternative der Abstand des Schwerpunkts zur Kameraposition verwendet. Dadurch kann es passieren, daß ein Objekt, das eigentlich hinter einem anderen liegt, als davor einsortiert wird, weil die Schwerpunkte eben ungünstig liegen. Beim Zeichnen wird die Z-Position (Tiefe)...
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
25. Okt 2012
Wenn ich das richtig sehe, passiert aber genau das, was ich beschrieben habe. Die Artefakte entstehen da, wo sich das Objekt selbst überdeckt. An manchen Stellen wird das dahinter liegende Polygon gezeichnet und an anderen nicht. Das ist dann auch noch abhängig von der Blickrichtung. Ich sehe momentan keine Möglichkeit, das sauber zu lösen - jedenfalls nicht mit dem Standard-GL-Shading.