GUI3D - Graphical User Interface, based on JOGL

hi coders,

GUI3D is/was a study of how to develop 3D applications
GUI3D apps are samples and does not meet the requirements of full useable Applications.

The last 3D-app is a fileviewer.
3D-fileViewer does not mean you can see 3D-contents like pov-files or or 3ds files,or what.
3D-fileViewer is the last sample of GUI3D API. It’s an 3d app. (a bit like sun’s looking glass)

have fun :stuck_out_tongue:
iface


damn, i forgot the LINK

http://gui3d.org/

have fun !
iface

Pretty neat stuff. The UI feels very responsive and scrolling, etc. is very fast. It would be nice to be able to select and copy text in the text viewer. The roll-over highlighting is cool, but you might want to actually extrude the button in 3D or something similar rather than shifting the text and just let the perspective projection take care of moving the button’s text. A couple of criticisms. Dragging and dropping an image into the Text Viewer doesn’t seem to work, although it works in the Image Viewer. The top-level window in all of your demos should have a WindowListener which exits the app upon close. Aside from that, looks like a nice start.

While opening the file-browser:

java.lang.RuntimeException: javax.imageio.IIOException: Can't get input stream from URL!
	at org.gui3d.tools.Pic.readImage(Pic.java:38)
	at org.gui3d.tools.Pic.readImage(Pic.java:19)
	at org.gui3d.frame.AnimFrame.<init>(AnimFrame.java:44)
	at org.gui3d.test.graph.frameWork.Frame3D.startControlsFullscreen(Frame3D.java:152)
	at org.gui3d.test.graph.frameWork.Frame3D.setGraph(Frame3D.java:245)
	at org.gui3d.test.graph.fileBrowse.GraphFileBrowser.main(GraphFileBrowser.java:594)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
	at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
	at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.imageio.IIOException: Can't get input stream from URL!
	at javax.imageio.ImageIO.read(Unknown Source)
	at org.gui3d.tools.Pic.readImage(Pic.java:33)
	... 16 more
Caused by: java.util.zip.ZipException: System cannot find the specified file
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(Unknown Source)
	at java.util.jar.JarFile.<init>(Unknown Source)
	at java.util.jar.JarFile.<init>(Unknown Source)
	at sun.net.www.protocol.jar.URLJarFile.<init>(Unknown Source)
	at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
	at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
	at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.jar.JarURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	... 18 more

Thank you Ken!

GUI3D is 18 month old and based on JOGL version with the same age.
I’ve read the JSR-231 is much better multi-treading-embedded. derivation of GLCanvas is allowed also.
So it’s time to make a good update of GUI3D.
With that some bugs should bed fixed.
Better effect should also be implemented.
I wasted much time with my 2D AWT => 3D - GUI3D event handling and i hope to gain from the new JOGL API.

Hi riven,

did you start the diagnose program ?
It could be useful to find the bug.

Diagnose program show your system properties (including GL) in a textarea.
After the information appears you can press “copy to clipboard” button and send me the output.

http://gui3d.org/content/download/

What kind of system is yours ?
Harrdware/OS,…

Thank you for interest.

Hi!

Just found this thread and thought it may interest you, that I am working on something quite similar. It is called FengGUI and can be found at http://fenggui.dev.java.net in the Java.net community. The probably biggest difference to GUI3D is that FengGUI does not emphasize on rendering Widgets in 3D although it is possible. We believe that GUI elements should be kept functional in favor of the usage. But that does not mean that they necessarily have to look ugly :slight_smile:

FengGUI uses an equally old JOGL version. But I am moving it right now to a more recent version. Maybe we can combine our GUI forces… After all we are compatriots :slight_smile:

I like the webstart demos. Especially the text viewer… reminds me to put something similar on FengGUI too

Johannes

FengGUI looks pretty cool. Thanks for pointing it out. We really need to put up a page linking to all of the projects out there. If you have any problems upgrading to the latest JOGL version please post here.

Hi Ken!

I added a link to FengGUI in the Wiki I found on games.dev.java.net. But I am not sure how many people look into that.

I just finished the upgrade to the JOGL from the 25th this month. It was far less painfull then I expected. Apparantly the “new” JSR thing made me think that JOGL had been enitrely changed. :slight_smile:

But there was one odd thing with the textures. FengGUI uses alpha textures to actually render characters, but the provided TextureIO class seemed to have trouble with it (only tried loading textures directly from BufferedImages). The symptons were that the textures containing alpha values were completely translucent. Maybe it is because of wrong parameters for glTexEnv or glTexParameter. However, I revived the texture loader from Kevs Space Invader Tutorial which I was using for the previous JOGL version and now it is working again. It is probably my fault. I can not imagine that the JOGL Texture Loader can not handle images with alpha channels… Maybe you can think of something that was causing it?

Johannes

I can easily believe there is a bug with the TextureIO class’s handling of alpha channels. That particular area of the code has not been heavily tested and I’m only tangentially aware that there are differences between how Java2D and OpenGL represent alpha. Do you have a texture and a small test case illustrating the different behavior? Even a tiny app showing the texture incorrectly with TextureIO and a screenshot of what it should look like? If so could you please file a bug with the Issue Tracker on the JOGL web page and attach them? Thanks.

Okay, I will do that. I keep you posted

Good news!

I wrote a little test app that loads textures from various file formats with and without alpha channels. Including rendering an offscreen image and loading the offscreen image as a texture. And there was nothing wrong with the TextureIO helper (version from the 25th this month). Apparently, the error lays somewhere in FengGUI.

Can I submit the test class anyway somewhere? You can include it in your test suite. Would be nice to not have it built in vain.

Johannes

Please do. Just file an Enhancement with the JOGL Issue tracker and attach your test case. You’ll need to be an Observer of the project.

Edit: please do make sure to clarify the license at the top of the file and include proper attribution. The JOGL project is BSD-licensed and I’d strongly prefer if your test case was as well.

ok, thanks!

I will make it so. I apply for an Observer role right away.

Johannes