Hallo,
ich hab mich in den letzten Tagen ein wenig mit Swogl beschäftigt und schreib hier einfach mal zusammen, auf welche Dinge ich so aufmerksam geworden bin. Gerne kann man das auch in mehrere Threads aufsplitten, wenn es die Diskussion vereinfacht. Über hinweise, wenn ich einfach nur etwas übersehen habe, bin ich auch sehr erfreut
Grundeinstellungen
Eine möglichkeit, in die während des init() vorgenommen Einstelungen eingreifen zu können, z.B. für DebugGL, Antialiasing, Lichteinstellungen (wobei das schon in deinen anderen Thread fällt, oder?)
Camera
Ich denke, ein Camera-Interface, um die Position verändern zu können, etc wäre ganz nützlich.
In der Cameraklasse fehlt, glaub ich, folgene Implementierung der StartMovement Methode:
previousMousePosition = point;
(ohne das Sprint die Sicht, wenn man versucht, in mehreren „Schritten“ zu scrollen)
Arrangement Interpolator
Dieser scheint nicht ganz komplett zu sein, ich erhielt hier in der Ergebnismatrix NaN Werte, die dann dazu führten, dass meine Transformation leider nicht das zeigte, was ich erwartete Ganz ergründet hab ich das Problem nicht, da ich dann auf das TimingFramework aufmerksam geworden bin.
Timing Framework
Für meine Animation auf das TimingFramework zurückzugreifen ersparte mir eine Menge Code und erleichterte viel Kennst Du das Framework, hast Du es schonmal angeschaut? Vielleicht würde sich hier eine Verknüpfung mit Swogl anbieten?
Lightweight / Heavyweight (GLCanvas / GLJPanel)
In der derzeitigen Version verwendet JOGL die leightweight Komponente GLJPanel für die OpenGL Darstellung. Dies führt leider dazu, das die Hardwarebeschleunigung für OpenGL (fast?) vollständig verloren geht.
Für die reine Darstellung ist es möglich, das GLJPanel gegen ein GLCanvas zu tauschen, dann werden jedoch die Mausevents nicht mehr richtig an die Swing Componenten weitergereicht. Hier habe ich versucht, genauer nachzuforschen und die Events „per Hand“ an die „angeklickte“ Swingkomponente zu dispatchen (eigener Layoutmanager3D, der die Events verarbeitet).
Leider bisher ohne abschliessenden Erfolg. Hast Du hier schonmal über eine Möglichkeit, GLCanvas einzusetzen und so die volle Hardwarebeschleunigung zu erhalten, nachgedacht?
Soweit erstmal meine ersten Gedanken
Große Anerkennung auf jeden Fall für die erste Version von Swogl!!
Viele Grüße
Markus