Slashdot Mirror


Java3D Source Code Released

mrp101 writes "Over the past few months (aka year) the future of Java3D has been in question. Not too long ago Apple announced a port to Mac OS X, but still no official update from Sun. A few weeks ago Sun announced that they were going to release the source code and begin collecting comments for version 1.4/2.0. And today they delivered, right before the JavaOne conference. The announcement can be found here(1) and the CVS here(2). The code includes the core scenegraph, the vector math library, and Sun's own add-on utility libraries."

62 of 220 comments (clear)

  1. Testing the waters? by Anonymous Coward · · Score: 5, Interesting

    I believe Sun is testing the waters for possibly fully releasing Java into the open source world.

    3D people out there .. utlize this stuff so they'll be encouraged to release Java.

    On a side (offtopic?) note. According to a member of the solaris dev team at http://blogs.sun.com/roller/page/tucker/20040618#o n_opening_up_solaris Solaris will probably be released as open source soon ..but people will foolishly ignore it, rather than implement it's plus points into Linux.

    -Johan

    1. Re:Testing the waters? by Anonymous Coward · · Score: 4, Informative
    2. Re:Testing the waters? by InodoroPereyra · · Score: 3, Insightful
      I'd like to think so. However, they chose a BSD license apparently. In my humble opinion, if they want to open Java, they should go GPL. This way, at least they know that nobody (like MS) will use the code they are opening after years of development, turn it into a proprietary, incompatible beast and release it and even perhaps make money out of Sun's effort, without contributing anything back.

      In fact, OpenOffice uses a dual licensing scheme that includes the GPL right ?

      Bottomline: come on Sun, opensourcing Java will be the final step to make it a Standard (it is almost there, how many IT Jobs requre Java these days ?)

    3. Re:Testing the waters? by Tarantolato · · Score: 4, Interesting

      However, they chose a BSD license apparently.

      I'm aware that every single anti-GPL troll in existence has suggested the BSD license for Sun in every single forum discussion to even touch on the topic simply because they don't like the GPL, but is there anything official or semi-official to back that assertion up?

    4. Re:Testing the waters? by Anonymous Coward · · Score: 4, Insightful

      > opensourcing Java will be the final step to
      > make it a Standard...

      Ugh!!! Why is it that people in the open-source
      community can't seem to grasp the concept that
      open-source is not necessarily equivalent to
      open-standard. One has nothing to do with the
      other. Closed source can ahdere to standards
      just as well as open-source. This *isn't* a
      tirade against open source; it's just that I'm
      amazed at how often I seen this fallacy crop up
      in open-source circles.

    5. Re:Testing the waters? by aristotle-dude · · Score: 2, Insightful
      Java is a standard already. Do you understand that software can be an open standard and yet not open source? Do you also understand that BSD is and Open Source license?

      If you want to see an example of a successful open standard created with BSD code, look at TCP/IP. Perhaps you've heard of it?

      Is InodoroPereyra another alias for RMS? Honestly, I cannot fathom how so many people don't know that GPL != Open Source as it is one of many open source licenses.

      Take a look at Apache and many other Open Source projects which are not GPL'd.

      --
      Jesus was a compassionate social conservative who called individuals to sin no more.
    6. Re:Testing the waters? by Xabraxas · · Score: 2, Insightful

      You're downright stupid if you think that happens when you use the GPL.

      --
      Time makes more converts than reason
    7. Re:Testing the waters? by Mithrandir · · Score: 5, Informative

      Only the utils and examples are released under the BSD license. The core and vecmath libraries are released under licenses named Java Development License and Java Research License. These are most definitely not OSI-approved Open Source licenses.

      --
      Life is complete only for brief intervals in between toys or projects -- John Dalton
    8. Re:Testing the waters? by Sinterklaas · · Score: 4, Insightful

      So what you are saying is that the BSD licence is idealistic and the GPL is pragmatic but both tend towards the same goal?

      By using those words you are already showing bias. You have decided that the GPL is necessary to get contributions and that's why you call it pragmatic. If you believe that you get plenty, if not more, useful contributions with the BSD license, you could call the BSD license pragmatic and the GPL idealistic.

      If that's the only important difference then can we stop arguing over which one is better?

      No, another important difference is that you can't use GPLed code without GPLing your entire app (you can't have one part BSD and another part GPL). That means that in some cases, the GPL will actually prevent people from doing the right thing (using open source code and giving back code). Those practical considerations make it so that non-GPL open source developers have a big reason to lobby against using the GPL. I think that the arguments would be much less if the GPL-advocates would ask for the LGPL instead of the GPL.

  2. Speed of 3D in Java? by Anonymous Coward · · Score: 5, Interesting

    I've done my share of 3d programming, and I don't see how writing any part of your display routines in Java is a good idea when you're working on a 3d app. I know Java has gotten quite a bit faster than the initial releases, but it's still interpretted byte code, and that seems like a waste of cpu cycles when you're trying to perform complex graphics effects. Does anyone have any positive experiences with Java3D with high performance 3d applications? Games would be a good start since they are probably the hardest on the system. What about 3d CAD software as well.

    Maybe some of you out there can prove my initial performance guesses wrong.

    1. Re:Speed of 3D in Java? by allenw · · Score: 5, Informative

      If the final release of Looking Glass turns out to be as impressive as the demo shows, I don't think anyone will ever doubt Java as a 3D application language.

    2. Re:Speed of 3D in Java? by koreth · · Score: 5, Informative

      Java hasn't been interpreted byte code (strictly speaking) for some time now. The byte code gets compiled to native code at runtime, with optimizations that are determined by the runtime behavior of the code rather than by simple static analysis.

    3. Re:Speed of 3D in Java? by thedigitalbean · · Score: 5, Interesting

      I have been writing 3D software in C++ for years and every so often (every release of Java) I get excited and want to port to Java. However, every time I try running simple performance tests of Java's floating point, the results are tragically dissapointing. The last time I tried (with JDK 1.4.1), Java was 2 decimal orders of magnitude (ie. 100x) slower than the identical code in C++ (interestingly, C# was 50x slower). My test was really simple involving vector math and matrix multiplication.

      I did some reading and found (from a long time ago) that floating point representation in Java was really slow because of the floating point standard in the VM set forth by Sun.

      My challenge is for Java advocates to publish with source a head to head comparison of floating point performance of Java vs. C++. Most of the challenges tend to focus on integer performance or memory performance, but very few people talk about floating point performance which is essential for 3D graphics.

    4. Re:Speed of 3D in Java? by Anonymous Coward · · Score: 5, Funny

      The java compiler is like a meat grinder. You put steak (source code) in, and it "compiles it" into ground beef (bytecode). When you eat a hamburger, your stomach's acid "compiles" the ground beef into it's different protiens/minerals/fats/whatever (native code). That's much more efficient than rubbing the ground beef (bytecode) into your skin (using a bytecode interpreter), don't you think? Your stomach acids (JVM) break down the hamburger (bytecode) and make it run on your "platform" natively.

    5. Re:Speed of 3D in Java? by Laser+Lou · · Score: 5, Informative

      Java3D was used for the game Roboforge. It was also used in Law and Order: Dead on the Money.

      --
      No data, no cry
    6. Re:Speed of 3D in Java? by Anonymous Coward · · Score: 2, Funny

      You forgot the final phase... the core dump.

    7. Re:Speed of 3D in Java? by Anonymous Coward · · Score: 5, Informative

      Get a clue, dude. It depends on the platform. If you're running on an x86, yes, the IEEE FP standard that is used by x86 CPUs is the backward one. SPARCs support nateively the same FP format, and that's the reason Sun chose it. Intel has been bitching for years to Sun asking them to change the format to one that does not require conversion for x86 systems. If Intel had chosen the better format, they wouldn't have this problem. Try runing FP on a SPARC -- it's on par with C++ code.

    8. Re:Speed of 3D in Java? by Aardpig · · Score: 4, Interesting

      Does anyone have any positive experiences with Java3D with high performance 3d applications?

      I believe that it is possible for Java3D implementations to be (partial) wrappers around hardware-based OpenGL/DirectX functionality. With this in mind, I really don't see much performance overhead associated with coding 3D applications Java, as opposed to something like C++.

      Of course, there are certainly other reasons why one might want to avoid using Java. For instance, if the 3D visualization is reliant on a computationally-intensive backend, it may be better to use a language specifically oriented toward number crunching -- for instance, Fortran 90/95, which has glut-featured OpenGL bindings through the f90gl project.

      --
      Tubal-Cain smokes the white owl.
    9. Re:Speed of 3D in Java? by mmusson · · Score: 2, Interesting

      Java Advanced Imaging (JAI) was supposed to be a showcase for Java. And it is implemented with Java, but they also ship platform specific implementations written in C if performance is remotely important.

      Although I think 3D performance would be easier for Java to achieve as long as a suitable graphics card is present to do the heavy lifting.

      --
      SYS 49152
    10. Re:Speed of 3D in Java? by Anonymous Coward · · Score: 5, Insightful

      Java FP may run well on Sparc, but do you know anybody who owns a Sparc machine? I presume my university's got a few of them, but absolutely nobody I know uses them for their own machines. And that's the crux of the issue. It's fine to say that x86 is the inferior platform and all, but the fact of the matter is that it's the platform that the vast majority of end-users use.

    11. Re:Speed of 3D in Java? by Mithrandir · · Score: 4, Interesting

      Speed is exceedingly good. In the area that we develop an open source toolkit (Xj3D) and commerical applications in (X3D/VRML) our Java3D renderer is the same speed as the natively coded OpenGL and D3D applications. We have another renderer that is built directly on top of the JOGL OpenGL bindings that is at least twice as fast in every instance as that of the J3D renderer.

      So, put simply, in our application space, the Java-based application is at least twice as fast as every native code competitor. We also have a high-level scene graph optimised for visualisation that has these speed advantages as a replacement for Java3D called Aviatrix3D. You may also want to check out Xith3D, another highlevel scenegraph API written in Java that is optimised for gaming purposes and gets even better performance than AV3D.

      --
      Life is complete only for brief intervals in between toys or projects -- John Dalton
    12. Re:Speed of 3D in Java? by Mithrandir · · Score: 4, Interesting

      LookingGlass is coded in Java and uses Java3D for the 3D part of the rendering. It uses JMF and JAI for the other media handling as well as pushing out a number of other experimental Java APIs from Sun, including one that does the low-level desktop integration like Icons, system trays etc. Can't remember the name of that offhand, but it's something like JDNC.

      --
      Life is complete only for brief intervals in between toys or projects -- John Dalton
    13. Re:Speed of 3D in Java? by LarsWestergren · · Score: 3, Informative

      I believe that it is possible for Java3D implementations to be (partial) wrappers around hardware-based OpenGL/DirectX functionality.

      Well, there are several projects available which make OpenGL available for Java programmers.
      Lightweight Java Game Library
      Open GL for Java
      Don't think the second one is still being developed, but I think Sun is working on something more up to date.

      --

      Being bitter is drinking poison and hoping someone else will die

    14. Re:Speed of 3D in Java? by Mithrandir · · Score: 3, Informative

      Plenty of companies own lots of high-end Sparc boxes. Think of all the E10Ks, Starfires and newer boxes that have been purchased throughout the dot-com era and still today. Typically they're acting as the big number crunchers on databases or application servers for websites - places where Java is by far the dominant development language in use today.

      --
      Life is complete only for brief intervals in between toys or projects -- John Dalton
    15. Re:Speed of 3D in Java? by Decaff · · Score: 2, Informative

      Java was 2 decimal orders of magnitude (ie. 100x) slower

      I'm sorry if this sounds harsh, but its not Java that is slower, its your code. Modern Java is regularly benchmarked as being around the same as C++ or Fortran for numerical work.

      However, I have seen some numeric Java code run a lot slower than C++ code. The usual reason is the way data structured are coded. If you use Collection classes in Java you will get slow access to your data. If you use Arrays and code carefully, there is no reason for Java to be significantly slower than C++, and certainly not 100x!

    16. Re:Speed of 3D in Java? by steve_l · · Score: 2, Informative

      I dont know about SPARC, but Java 1.4 on x86 can hand off FP maths to the SSE registers, rather than the classic "shite" x86 FPU, the one Patterson and Hennessey cover as a "what not to do" example in their Computer Architecture Book.

      And that is one of the nice things of Java: you get a boost from whatever accelleration is in the platform, if the compiler handles it.

      I think to make best use of the SIMD features in modern CPUs we need better array operations with compilers/runtimest that bind to the new SIMD FPUS. I think Fortran still has the edge there, for historical reasons.

    17. Re:Speed of 3D in Java? by thedigitalbean · · Score: 2, Informative

      Now thats interesting. I didn't use collections or any ADTs actually. All I used were simple doubles held in a class with operations performed on them.

      I unlike many others am willing to put my code where my mouth is, so I will implement a rigorous floating point benchmark in both C++ and Java and I'll be more than happy to have people school me on my crappy Java coding by optimizing it to be as fast (or with 90%) of the C++ code.

    18. Re:Speed of 3D in Java? by upsidedown_duck · · Score: 3, Interesting

      ...do you know anybody who owns a Sparc machine?

      Yes.

      One thing that is nice about having the "real deal" is some of the perks that come along with it. For example, a Sun or SGI workstation makes a nice reference platform for OpenGL apps, because they ship native optimized GL libraries for their graphics cards. You also get a different take on UNIX standardization, which helps with writing portable software.

      --
      -- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
    19. Re:Speed of 3D in Java? by psetzer · · Score: 2, Interesting

      The inline keyword is there for a reason in C++, and it's a godsend for field accessor methods, where it turns into almost the exact same code as a direct access.

      --
      "Anyone who attempts to generate random numbers by deterministic means is living in a state of sin." -- John von Neumann
    20. Re:Speed of 3D in Java? by bay43270 · · Score: 2, Informative

      including one that does the low-level desktop integration like Icons, system trays etc. Can't remember the name of that offhand, but it's something like JDNC.

      It's JDIC

  3. Will 3D ever boom? by eipipuz · · Score: 4, Interesting

    Maybe OT, but while I was at school, people talked about VRML... There's Java 3D... Do anyone think that a 3D interface will ever be popular? I love CLI and it doesn't seem we are ever going to forget about it. With 2D we really don't use all the posibilities (maybe Squeak)... I can see medicine and CAD using it, but a employee, aunt or kid?

    1. Re:Will 3D ever boom? by Tarantolato · · Score: 2, Insightful

      I can see medicine and CAD using it, but a employee, aunt or kid?

      Sun doesn't give a rat's ass about aunts and kids - they shouldn't, either; aunts are cheap and kids have no money. "Knowledge workers" might not have any use for it right now. But medicine and CAD might be lucrative fields...

      Probably also a few other small but expensive markets for it. At least that's what I'd guess would be the hope.

  4. BFM by TexasDex · · Score: 4, Interesting

    The BFM is written in Java. I think it actually uses this library, and it's nice to have it available and open.

    --
    The Cheese Stands Alone.
    1. Re:BFM by Attaturk · · Score: 2


      I believe the mini-mmog Runescape uses Java for its 3D engine - although it's pretty primitive.

  5. Please mod me down by coupland · · Score: 4, Funny

    Finally Java 3D has been released. I've long been a critic of Java, largely due to its "2D" nature. I'm very glad to see Java finally go 3D, especially since Open Source rocks and Sun sucks, particularly since they did a deal with Microsoft. Maybe C++ and Pascal will go 3D now, long live that programming language I'm talking about. Yeah... Java...

    1. Re:Please mod me down by callipygian-showsyst · · Score: 2, Funny

      I think 3D Java will help former Java executive Patrick Naughton (who plead guilty to possestion of child porno and crossing state lines to have sex with a 13 year-old-girl) get more realistic 3D kiddie porn!

    2. Re:Please mod me down by nacturation · · Score: 4, Funny

      I know we're on slashdot, but a little brain helps from time to time, combined with the preview button.

      A little bit of brain also helps to detect sarcasm, something you might wish to try from time to time.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  6. Lookglass ? by Anonymous Coward · · Score: 3, Interesting

    I wonder if this release is partially due to Looking Glass. If sun follows through with Looking Glass this move may garner support for the 3d rich desktop enviroment.

  7. Whaa?!? by quantaman · · Score: 3, Interesting

    LICENSE
    -------
    We are releasing the source code for the j3d-core-utils and
    j3d-examples projects under a BSD license.



    Sun... "Open Source" Code... Non tainting license...

    Someone find me the strings, I must be dreaming!

    --
    I stole this Sig
    1. Re:Whaa?!? by Orgazmus · · Score: 2, Funny

      Wow. That is nice!

      But..
      Will they die too now?

      --
      The system had the verbosity of HTML combined with all the readability of compiled assembly viewed as bitmap images
    2. Re:Whaa?!? by HRbnjR · · Score: 4, Informative

      You are dreaming! BSD for the utils and examples. Whoopie.

      The main product...

      We are releasing the source code for the j3d-core and vecmath projects under separate research and commercial license. The research license is the Java Research License (JRL). The commercial license is the Java Distribution License (JDL), a no-fee license that allows a vendor to ship a compatible version of Java 3D with or without modification.
    3. Re:Whaa?!? by psykocrime · · Score: 3, Informative

      You've been listening to PJ's anti-Sun rants for too long.

      Heh...I love Groklaw, and PJ's probably really nice.. but she does seem to have it in for Sun for some reason.

      Yes, Sun has been a little wishy-washy in terms of whether they want to support Linux or want to see it die.. but otherwise they've been fairly friendly to the FOSS communities over the years... dating at least back to the time when they released the source for the ONC-RPC / NFS stuff... and of couse they support Open Office and NetBeans, etc... and let's not forget the various code donations they've made to Apache projects, like Tomcat, etc...

      --
      // TODO: Insert Cool Sig
  8. fav java 3d demos by Anonymous Coward · · Score: 5, Informative
    1. Re:fav java 3d demos by IrresponsibleUseOfFr · · Score: 4, Interesting

      The demos are really cool. But the biggest issue, which I think is apparent in the demos also, is that you get these frame rate drops. The best I can tell from playing around with Java3D, this happens because the API is allocating a bunch of objects during rendering. The garbage collector has to come by and get rid of them and it takes long enough to release the unused objects that it interferes with the rendering thread. This turns out to be down right distracting in animation.

      Whether or not Java3D can be fixed so that doesn't happen will have to be look into.

      The other issue is Java3D tries to hide the underlying graphics API too much. There is already a consistent 3D graphics interface that is available on almost every platform: OpenGL. I would really like to be able to get at it. Then, I could do things like add glslang shaders to an already existing Java3D app.

      All in all, I think open sourcing Java3D is a good thing. Sun and SGI announced at last year's SIGGRAPH that they were planning native OpenGL 1.5 bindings. I don't know what has come of that project. However, there are many Java to OpenGL binding projects. I still think that Java + OpenGL leaves much to be desired compared to C# + DirectX. Although, having a large higher-level 3D open-source library ready to use in Java might swing momentum in Java's favor.

      --
      Facts are meaningless. You could use facts to prove anything that's even remotely true! -Homer Simpson
    2. Re:fav java 3d demos by Mithrandir · · Score: 2, Informative

      Sun and SGI announced at last year's SIGGRAPH that they were planning native OpenGL 1.5 bindings. I don't know what has come of that project.

      It's called JOGL. There's a JSR associated with it (JSR-231) that is doing the work of the formalised bindings. My company (Yumetech) is on the JSR committee for that one and things are progressing reasonably well, though not at the scheduled timetable. There is also a related JSR that is getting off the ground right now for the OpenGL-ES bindings, JSR 239, but is a little further behind.

      Although, having a large higher-level 3D open-source library ready to use in Java might swing momentum in Java's favor.

      There's at least two that have been underway for the last year - Xith3D and Aviatrix3D. Both are already far faster than Java3D in their respective application spaces (gaming and sci-viz respectively). Come try them out and you'll be surprised at just what sort of speed can really be obtained from 3D Java apps and toolkits.

      --
      Life is complete only for brief intervals in between toys or projects -- John Dalton
  9. Java 3D is slow by JavaPunk · · Score: 4, Interesting

    The javagaming.org community has written a open source implementation of Java3D in the opengl wrapper JOGL (hosted on a Sun website). It is called Xith 3D. From what I here they are getting much higher frame rates then Java 3D. The problem with Java3D is it trys to do everything, so it is good for nothing. As far as I know there is very little usage of Java3D especially in the game programing community.

    1. Re:Java 3D is slow by Anonymous Coward · · Score: 5, Interesting

      My understanding is that Xith 3D is a mess. It's also quite incomplete.

      The primary problem with Java3D is not that it tries to be "everything". There are four problems with Java3D. First, it is synchronized everywhere, with heavy locking mechanisms. Second, it has both float *and* double environments. Third and most important, it puts an efficiency emphasis on static scenes where few things get added or deleted. Fourth, it attempts to run on both OpenGL and Direct3D, and so its underlying subsystem has an unnecessary layer of abstraction.

      Open-sourcing Java3D should do a world of good. It'd give Java3D a chance to fix this stuff. First, dump Direct3D and the private OpenGL bindings it uses, and sit it directly on top of JOGL. That's no small job, but it'd make a big difference. Second, strip out the synchronization and use of doubles. That'd be enough to get it more than a match for Xith3D. What to do about its emphasis on static scenes, I dunno.

  10. Re:OpenOffice.org is NOT GPL by Macrat · · Score: 5, Informative

    FYI, OpenOffice.org is LGPL and SISSL. Not GPL.

  11. That's too easy by KalvinB · · Score: 3, Insightful

    I'm currently working on what will be a large number of tutorials that go through the process of building a graphics API with pure software rendering. Starting with JavaScript and eventually will get into C and ASM.

    JavaScript 3D

    The most recent lesson (written Friday) demonstrates how to do texture mapping. With a color key to boot.

    With OpenGL and DirectX already being used with pretty much everything I don't think Java3D is going to go very far. It has no real advantage on the desktop. The problem is that most devices that rely on Java like Cellphones don't have a large enough screen to make 3D really useable. And they certainly don't have the hardware acceleration.

    Where Java3D might have a chance, developers are probably better off sticking to software rendering and 2D games with some 3D effects like lighting, alpha blending and whatnot.

    I'd imagine they're making it open source because they realize that without a community to call it their own there's probably not going to be much of a fan base to get anything practical (read: that can make money) done with it. If anything goes wrong, Sun isn't really out anything.

    Ben

    1. Re:That's too easy by furball · · Score: 3, Interesting

      You're thinking inside the box.

      3D is not strictly limited to desktop applications or games. It's very useful in biological research for example. Some of the people working on that sort of thing do full 3D rendering of very complex molecules and interaction of molecules.

      Massive rendering of said molecules from huge chunks of data can be done on very big iron boxes.

      Heck, movies could be rendered. You don't think desktop boxes render the frames for Pixar do you?

      Server side java applications using 3D libraries. That's where the good stuff will eventually end up like all the other Java stuff.

  12. Universal games are now by furball · · Score: 4, Interesting

    Future? How about present?

    Puzzle Pirates is a Java game title. It's available now. Apparently it's fun. I tried it. It wasn't my cup of tea but I suck with puzzle games.

  13. Not Free Software or Open Source by Anonymous Coward · · Score: 2, Informative

    While the examples and utilities for Java3D are being released under a BSD-like license, Java3D itself is being released under the Java Research License, which is neither a Free Software license nor an Open Source license. It allows use of the code for research purposes only.

  14. I dont know what you just said... by Cyno01 · · Score: 2, Funny

    But now i'm hungry damnit!

    --
    "Sic Semper Tyrannosaurus Rex."
  15. Java3D is a superset to DirectX, OpenGL by karnat10 · · Score: 5, Insightful

    I'd like to think that under the hood Java3D uses whatever hardware accelerated 3D technology is available on the current system.

    So whether Java is "just another 3D library" or an abstraction layer to truly make cross-platform development easier depends on the quality of the VM.

    1. Re:Java3D is a superset to DirectX, OpenGL by TheRaven64 · · Score: 2, Interesting
      No it isn't. Java3D is a retained mode API. You create objects in a scene, and then manipulate them. OpenGL and DirectX allow the developer to exercise a fine level of control over the graphics hardware by drawing graphics primitives directly (Direct3D used to have a retained mode API, but I think it stopped being worked on after version 6).

      An API like OpenGL or Direct3D is much more flexible. It is possible to implement Java3D in something like OpenGL or Direct3D. It is not possible to implement OpenGL or DirectX in Java3D. This lack of flexibility may not be important to a lot of developers (or at least less important than the fact that it frees them from having to think about the low level details. If you want a cross platform alternative to OpenGL, try OpenGL.

      --
      I am TheRaven on Soylent News
  16. Re: J3D is more a competitor of VRML by Cochonou · · Score: 5, Interesting

    Java 3D uses scenegraph and branchgroup concepts, exactly like VRML. It is a "higher level" 3D language than OpenGL, and therefore C+OpenGL and Java 3D are not (maybe just for now) in the same playing fields.
    Where Java3D should thrive now is rapid developpement of possibly complex 3D scenes. We're not talking of a game with pixel shaders, but for example of a simulator of a robot with a manipulating arm. The scenegraph would make it very easy to set up the arm articulations quickly.
    Given the current sorry state of VRML browsers, and the immaturity of X3D, the release of Java3D could give birth to very interestings developements.
    For complex game development in Java, look for Java OpenGL bindings instead.

    A few references:
    Scenegraph basics
    X3D

  17. VRMoo is a Java 3D App by Sir+Toby · · Score: 2, Interesting
    Hey, at last a topic where I can talk about an open source project I'm working on and be quite on topic. VRMoo is a Java 3D application for a 3D object-oriented MUD client/server.

    I haven't found the performance of Java 3D to be that great when running the VRMoo client, but then that could be just because I'm not a great Java 3D (or even 3D) coder.

    Anyways... That's all I guess. Just wanted to say, hey looky, open source Java 3D app over here!

  18. Some of it is BSD, some of it isn't by fdobbie · · Score: 5, Informative
    If people would have the decency to RTFA:
    LICENSE
    -------
    We are releasing the source code for the j3d-core-utils and j3d-examples projects under a BSD license.

    We are releasing the source code for the j3d-core and vecmath projects under separate research and commercial license. The research license is the Java Research License (JRL). The commercial license is the Java Distribution License (JDL), a no-fee license that allows a vendor to ship a compatible version of Java 3D with or without modification.
  19. Not true any more by lokedhs · · Score: 2, Interesting
    Sice JDK 1.2 there is the strictfp declaration that can be applied on methods which needs the precicise IEEE floating point.

    If this is indeed the grandparent posters problem, he's using strictfp on all his methods. I doubt he does, since few people even know of its existance.

    However, I also do not believe the numbers he was posting. It did have that trollish odour to it. I would very much like to see his test code. There must be something wrong with it.

    Here's a tutorial on the use of strictfp.

  20. Sun will NEVER open-source Java by pchown · · Score: 2, Insightful

    Sun are not "testing the waters". Instead they are continuing to follow their extremely successful strategy of the last few years. What Sun really don't want is a viable open source clone of Java, whether it is gcj or IKVM. So, every so often they make noises about open-sourcing things. This means that people think working on the open source Java clones is a waste of time. People also carry on working on open source Java applications, providing Sun with help that Microsoft can only dream of.

    Why do you think Mono is now days away from a 1.0 release, while gcj and classpath are still lagging the current Java? Because everyone knew that Microsoft would never open-source .NET. The .NET system is probably better than Java, and we knew that if we wanted a free version we would have to write it ourselves.

    This is the reason why Sun's strategy is, ultimately, misguided. .NET and c# are very nice to develop with, there is a high quality open source version, and the platform has Microsoft's marketing clout behind it. Oops...

  21. Medical Applications by VoidEngineer · · Score: 2, Informative

    You want to know about Java3D and why people love it? Try looking towards the medical profession, especially radiology and surgical planning. There are a number of Java3D based DICOM viewers out there for viewing CT and MRI images, such as SPLViz and VisAdd.

    The cross-platform portability means that the same CT and MRI images can be loaded up onto the same viewer on both the doctor's office PC workstation, their home macintosh or linux system, or even onto one of the esoteric workstations.

    To get a better handle on why this images are needed, read up on this article: Combining Local and Remote Visualization Techniques for Interactive Volume Rendering in Medical Applications, and check out the Stanford-NASA National Biocomputation Center Website.

    Once you dive around those articles and websites, you'll realize that Java3D supports alot of exotic hardware, such as 5 megapixel LCD monitors, Projection Tables for Virtual and Augmented Reality and Virtual Surgery Tables.

    Radiograph images in most hospitals are obtained on VAX or QNX or HP Unix systems, and are then transmitted to Solaris or Windows workstations/servers for post processing. It's typical to have sometype of Oracle database sitting on an imaging archive (we have a 20TB archive, for example), feeding images to the clients sitting on workstations. Sometimes the images are saved as 3D volumetric data, although usually they're saved as 2D slices. So, you need some type of portable 3D viewing application that can sit on nearly any type of box, and can compile the radiographs for whatever local viewing equipment is available...

    FYI, medical systems have to conform and perform according to federally mandated law, and there isn't the market pressure to compete with the newest processor on the market. Therefore, priorities are very different in the medical world. Pixel shading and texture mapping are generally on the bottom of our list of importance. True stereoscopic visualization and platform portability are near the top. For our purposes, Java3D outperforms all other competitors, because we *need* the portability, the garbage cleanup of java, and all of the other advantages of Java.

  22. Simple Analysis by Anonymous Coward · · Score: 2, Funny

    Yes, I officially searched the Sun Corporate Headquarters, and no Soviet flags were found. Thus, they are not using the GPL.