Für meine Anwendung wäre die Klasse TGLMultipolygon perfekt.
Leider habe ich da ein kleines Problem.
Wenn ich ein Polygon mit beliebigen Koordinaten erzeuge, funktioniert das einwandfrei auch mit Löchern drin usw.
Wird das Polygon aber nur mit Punkten in der xz Ebene erzeugt, wird es nicht angezeigt.
Mache ich da was falsch oder ist das ein Fehler in der TGLMultipolygon Klasse oder gar in OpenGL?
Im Anhang ein kleines Projekt zum nachvollziehen (Package GLScene aus dem OPM muss installiert sein)
GLScene Problem mit TGLMultipolygon
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1650
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
GLScene Problem mit TGLMultipolygon
- Dateianhänge
-
testglscene.zip
- (97.11 KiB) 21-mal heruntergeladen
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1650
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: GLScene Problem mit TGLMultipolygon
Wenn ich das Polygon in der XY Ebene definiere und dann um 90° drehe, hat es exakt die selben Koordinaten (absolut), wie das in der XZ Ebene definierte und wird trotzdem korrekt angezeigt.
Wenn ich das in der XZ Ebene definierte Polygon um 90° drehe, wird es trotzdem nicht angezeigt.
Ich habe das Beispielprojekt im ersten Post entsprechend erweitert und aktualisiert.
Wenn ich keine Lösung für das Problem finde, werde ich die Polygone eben alle in der XY Ebene definieren und mittels Translation und Rotation an die gewünschte Position bringen.
Das hätte auch gleich den Vorteil, daß alle lokalen Koordinaten nur zwei dimensional bearbeitet werden brauchen.
Verwundern tut's mich dennoch.
Wenn ich das in der XZ Ebene definierte Polygon um 90° drehe, wird es trotzdem nicht angezeigt.
Ich habe das Beispielprojekt im ersten Post entsprechend erweitert und aktualisiert.
Wenn ich keine Lösung für das Problem finde, werde ich die Polygone eben alle in der XY Ebene definieren und mittels Translation und Rotation an die gewünschte Position bringen.
Das hätte auch gleich den Vorteil, daß alle lokalen Koordinaten nur zwei dimensional bearbeitet werden brauchen.
Verwundern tut's mich dennoch.
Re: GLScene Problem mit TGLMultipolygon
Ich glaube mich zu erinnern, dass man in OpenGl ein etwas ungewöhnliches Koordinatensystem hat, das dann wahrscheinlich auch in GLScene beibehalten wurde: Wie bei einem zwei-dimensionalen Bild verläuft x nach rechts und y nach oben, und die z-Achse verläuft senkrecht zum Bildschirm und (damit man ein rechtshändiges Koordinatensystem hat) aus diesem heraus. Das übliche mathematische 3D-Koordinatensystem hat dagegen x waagrecht, y in den Bildschirm hinein und z nach oben.