Java3d + JOGL Pipeline + Opengl ES / Android or Worldwind ?

Hello,

I’m trying to find a way to mix Java3D and JOGL in order to mix a personnal project made with Java3D with WorldWind or/and to move this personnal project on mobile device (android).

I found an old thread that told that someone successed to integrate a JOGL gui in Java3D but I don’t manage to get his code working :

http://www.java.net/node/647737

Does someone does something like that ?

Does someone has any clues / thoughts to do that ?

Sorry for my english and to avoid misunderstandings, I don’t plan in any way to move my personnal project on JOGL, for other reasons out of the subject :slight_smile:

Regards,

Antoine

Java3D is dead and barely anyone around here knows much about it.

Just pick one of the 3d engines listed here.

Hi

Your code uses an obsolete version of JOGL and Java3D itself is obsolete, ra4king is right. Sorry but come down to Earth, Java3D has been almost completely abandonned in 2005, it has had several very minor maintenance releases but it is still very buggy and not very optimized. If you look for something close to Java3D but better maintained, try Xith3D.

You can use JOGL 2.0 to access OpenGL and OpenGL-ES. Some people succeeded in mixing Ardor3D and Worldwind. If you want to use it with JOGL 2.0, you will have to use my renderer as the default JOGL renderer of Ardor3D supports only JOGL 1.1.1a (and the competitor of JOGL of course…).

Hi,

The question is not “should I change from Java3D to something else ?” but “Can we mix Java3D and JOGL ?”
If it helps, consider it is a very old project for a company who doesn’t want to spend time and money to change the underlying engine :slight_smile:

So I know we can easily mix JOGL and Ardor3D / Xith3D / JME / WorldWind Java / JReality / etc.
And because the approach is different in Java3D, the abstraction is stronger between Java3D and JOGL,DirectX or OpenGL, I’m asking if we can do the same ?

It appears that nobody seems to have done this here, too bad :frowning:

Concerning the health of Java3D, it is not a problem because I already use a modified version, maintained by myself.
Concerning Xith3D, I don’t think it is very active these days.

It is not because a lib is not growing anymore that everybody should drop it, Java3D is very stable and does what it claims to do, which is what I look for :wink:
Take a look to this project, it shows that Java3D can perfectly fit some needs event today : http://www.sweethome3d.com/index.jsp

And I’m not saying that Java3D is the best engine, just that it is stable enough to still be used today, just like other engines mentionned before.

Antoine

Hi Antoine

One of Xith3D maintainer confirmed me that this engine is maintained but not actively in development.

As Java3D relies on JOGL 1 and as its direct OpenGL renderer is no more maintained (whereas it would need some modifications to work fine with >= OpenGL 3.0). Java3D is buggy, I used it several times some years ago, everyone should drop it because it is still buggy and not maintained anymore. A single person can’t maintain it to target use in production. It is not stable enough. Sweethome3D is nice but anyway, you should switch to another engine. Why not giving Ardor3D a try? I could help you to port your source code if you want. Good luck.

Antoine,

I’d be very interested in any modifications you’ve made to Java3d in your private version.

I’m in a similar position maintaining an engineering application that relies on Java3d, you can find
all my Java3d changes at:

If you are willing, I’d love to put your changes up there as well.

Cheers,

Harvey Harrison
harvey.harrison@gmail.com
harvey.harrison@ausencosandwell.com

@gouessej

Thanks for your precisions, if I had more time, I would certainly switch to Ardor3D, which is I think the engine that would fit the most my needs.

But I haven’t the time to switch, even with some help :slight_smile:
Why ? Because my code is very tied with Java3D (old mistakes), there should be a stronger abstraction in order to switch easily, and it is a long term goal during the future refactorings
So maybe next year … or after :slight_smile:

Another solution is Xith3D because it would take less time to make the change.
I’ll study that …

Antoine

Hi Antoine

I have just ported Java3D to JOGL 2.0 and Harvey explained to me how to avoid some big root causes of crash ;D Let’s have fun. The source code will be on Github soon. This port took me about 4 hours whereas Oracle guys thought it would require 4 weeks lol.

Hi Julien,

I’ve seen your post on Friday, that sounds promising :slight_smile:

What about the stability ? Is it a proof of concept that needs to be improved in order to be use in a commercial application or is it just stable enough yet ?
And I’ve seen in another post that it is now possible to access JOGL via Java3D ? I think that may help for WorldWind integration isn’t it :wink:

Good job, I will try it when it will be available
Antoine

Hi

:slight_smile:

Honestly, it was not very hard to port except for the part using the new native windowing factory. It just works fine. It only uses JOGL 2.0, I disabled the both native custom wrappers. Worldwind is already able to work with Ardor3D, I’m not sure their users are interested in some sort of Java3D integration. It is available on Harvey’s github account but he forgot to commit some files :s

[/quote]
Honestly, it was not very hard to port except for the part using the new native windowing factory. It just works fine. It only uses JOGL 2.0, I disabled the both native custom wrappers. Worldwind is already able to work with Ardor3D, I’m not sure their users are interested in some sort of Java3D integration. It is available on Harvey’s github account but he forgot to commit some files :s
[/quote]
Hey, cut me some slack…I got all the code committed, must have been too excited reading the changes. ;D

In any event, I’ve gotten it up and running here, looking forward to beating on it for a few days and seeing what
kind of performance/stability it has.