About Swogl

This part of the forum is dedicated to Swogl, a library for displaying Java Swing components in 3D using JOGL.

The Swogl main page containing pre-built binaries, screenshots and samples may be found at http://swogl.javagl.de/

The source code of Swogl is hosted at http://code.google.com/p/swogl/

Although it has been quiet around Swogl for nearly two years now, I recently have continued the development. It actually is a larger refactoring.

In the current version of Swogl, the whole structure of programs using Swogl was basically predefined by the SwoglContainer. One could only create a Swogl application to show SwoglComponents, but it was not possible to integrate Swogl into existing applications or add custom rendering code. This issue was also mentioned in the thread RFE: Custom rendering and initialization in SwoglContainer.

Additionally, the possibilities for interacting with SwoglComponents and the “scene” containing the components was very limited and not really configurable. The behavior and control of the 3D layout managers was predefined, as well as the behavior of the camera, and there was no way to influence it, as described in RFE: Provide a public Camera interface.

The recent development mainly addressed the first issue: It should be possible to customize the rendering and scene setup. But this is only a small aspect of the primary goal of the current refactoring, namely to make Swogl more universally applicable. One intention is to let Swogl work together with arbitrary renderers. It should be possible to use Swogl with JOGL, LWJGL, or own renderer implementations. But it also refers to the desired possibility to integrate Swogl into existing applications.

The current development state has been summarized in a small preview on

Note that this preview is not final, not completely documented, and does not yet contain layout managers or any real interaction possibilities. It is solely intended as a preview for the new API to integrate Swogl into existing applications, and to use different renderers as the Swogl backend.

However, any early feedback and suggestions for the further development are welcome.

EDIT: Updated the link

The download on http://swogl.javagl.de/ has been updated, and some comments and explainations have been added to the website.

Additionally, some approaches for more fine-grained control over the interaction and processing of mouse events have been added to the API. However, especially the layout and interaction package should not be considered as being ‘final’, but only as an alpha version.

Any feedback is appreciated.

The website has been updated with the most recent version of Swogl.

Besides some minor bugfixes and extensions, most of the classes that had been marked as ‘preliminary’ have been pulled out into a ‘swogl-demos.jar’. This archive is part of the download package, but should not be considered as an official part of the API. Parts of this archive will serve as the basis for an extension of Swogl to support the creation of more sophisticated applications.

Any feedback and suggestions for the interaction and layout API are welcome.

Again, it has been a while since the last update, but now Swogl 0.4.0 has been uploaded.

[li]Classes for configuring the light setup of a Swogl application and the material of SwoglComponents have been added
[/li][li]Rendering backends for LWJGL and JOGL have been added which use shaders instead of the fixed function pipeline
[/li][li]Some bugs have been fixed. Details can be found in the change log.

The main sample application, showing different capabilities of Swogl, has been added as a Webstart application to the samples page: http://swogl.javagl.de/samples/samples.html