Hi Yarden,

It's true NoodleHeaven is no longer functioning as a company, so those of us who previously worked there don't use OSG anymore. This is pretty much why JavaOSG is fairly dormant, except for the recent upgrade to osg 1.0. As I said before on this list, I am happy to help fix up JavaOSG if I get feedback from users. I have avoided giving JavaOSG to someone else to maintain because it relies on NoodleGlue code generation, which I do still work on occasionally (I'm currently adding function pointer support).

So to your point about OSG usage: We used to use OSG in Java for your Noodle application and we also used it for some image processing tools. It worked fine for us as far as we needed to use OSG, but that admittedly was not far. But it included custom drawables and nodes within various dynamic scenes, and our own visitors, and it worked pretty well. The simple examples provided with JavaOSG show what you can do as the simplest level and we used in a university course I believe.

In regard to your linkage problem. I have a recollection the makefiles which are currently provided with JavaOSG originally had a similar problem, but the previous provider of makefiles (who may still be on this list) fixed the problem. We certainly had a problem to do with the global scope of symbols (between libraries) on Linux. Have you looked at the previous makefiles as reference? The compiler flags might provide a hint to fixing this (just had a quick look and I think it might be the -fPIC compiler flag). I think by default with gcc on Linux the symbols don't have global scope and have to be explicitly made so for the compiler. I can't say more than that, as I only provided an unpleasant Linux-only preloading phase for the JavaOSG libs, to avoid the runtime implications of a related limitation with the Linux version of Java. I can't say more as my email history was lost in a harddrive failure.

Oh and if you are happy to fix up the makefiles I'm happy to put them into the releases of JavaOSG if you like.

BTW, as I don't really read this list very often if you want more support or have contributions on JavaOSG is it best to contact me directly as noodleglue (at) noodleheaven.net. Thanks Andreas for pointing out this message.

Bye now,

Tree

Message: 7
Date: Tue, 02 May 2006 15:57:36 -0600
From: Yarden Livnat <[EMAIL PROTECTED]>
Subject: [osg-users] Java binding
To: osg users <[email protected]>
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Hi,

I've used osg for many years but now I need a good scene graph for a Java project I'm working on. The sad story is that the status Java based scene graph is rather dismal. Maybe I'm spoiled by the quality of osg :-) I've checked jME, Xith3d, j3d and Aviatrix3D.

I thus came back to osg and looked for Java bindings.
1. josgviewer does not seem to be more than an example. One need a handwritten wrapper for each C++ class used from Java. 2. JavaOSG. I had high hopes for this one but alas NoodleHeaven seems to be out of business. My major problem here is that the code does not work on Linux, though as promised it does work on Windows.

In the past I've seen some posts regarding JavaOSG and I wonder whether anyone had any luck with it ? What is your experience with this technology either in development or runtime ? are there any known issues in Windows or Linux (well a part from the fact that right now it has some strange issues with undefined symbols, see bellow).

I'll be happy to put the effort to try and get JavaOSG back on its feet (or any other good solution) as well as post any info, insight or hints I collect. However, the project I work on can not wait for much longer before it will switch to one of the other java based scenegraph (which will be a shame).

thanks !

   Yarden Livnat
   Research Scientist
   SCI Institute, University of Utah

p.s

The Linux issue , at least in my case, is that the c++ binding in JavaOSG generate name signatures that are slightly different then the ones generates in the original osg.

for example:  (note, the program compiles fine)

======================================
[EMAIL PROTECTED]> java openscenegraph.examples.OsgGeometry
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/java/lib/libJavaProducer.so: /opt/java/lib/libJavaProducer.so: undefined symbol: _ZThn24_N8Producer6Camera3runEv
       at java.lang.ClassLoader$NativeLibrary.load(Native Method)
       at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
       at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
       at java.lang.Runtime.loadLibrary0(Runtime.java:822)
       at java.lang.System.loadLibrary(System.java:992)
at noodle.noodleGlue.library.ProducerJNILibrary.loadNativeLibrary(Unknown Source)
       at producer.Referenced.<clinit>(Unknown Source)
       at openscenegraph.examples.OsgGeometry.main(Unknown Source)

// checking for the missing symbol in the java/c++ binding

[EMAIL PROTECTED] > nm /opt/java/lib/libJavaProducer.so | grep N8Producer6Camera3runEv
        U _ZN8Producer6Camera3runEv
        U _ZThn24_N8Producer6Camera3runEv

// but the name is different in original osg ... (note the n24_ in the above and n8_ bellow. // I can't figure out what they mean and c++filt seems to ignore them all together

[EMAIL PROTECTED]> nm /usr/local/lib/libProducer.so | grep N8Producer6Camera3runEv
00027c04 T _ZN8Producer6Camera3runEv
0002bd7c W _ZThn8_N8Producer6Camera3runEv
=======================================

again, any insight into this issue or into the whole issue of Java access to OSG will be greatly appreciated.

   Yarden


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to