Java3D Source Code Released 220
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."
Testing the waters? (Score:5, Interesting)
3D people out there
On a side (offtopic?) note. According to a member of the solaris dev team at http://blogs.sun.com/roller/page/tucker/20040618#
-Johan
Re:Testing the waters? (Score:4, Informative)
Re:Testing the waters? (Score:3, Insightful)
In fact, OpenOffice uses a dual licensing scheme that includes the GPL right ?
Bottomline: come on Sun, opensou
Re:OpenOffice.org is NOT GPL (Score:5, Informative)
Re:OpenOffice.org is NOT GPL (Score:2)
Re:Testing the waters? (Score:5, Interesting)
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?
Some of it is BSD, some of it isn't (Score:5, Informative)
Simple Analysis (Score:2, Funny)
Re:Testing the waters? (Score:4, Insightful)
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.
Re:Testing the waters? (Score:2)
It's not that easy; if Sun releases their VM under the GPL then the evildoers will simply write new VMs from scratch or adopt non-GPL VMs like ORP.
Re:Testing the waters? (Score:2)
Java currently IS a proprietary incompatible beast. What's your point?
Heaven forbid that anyone should make any money off of someone else's work! A bunch of people, including Richard Stallman, the creator of the GPL, see nothing wrong with people making monetary profit off of other's works.
Re:Testing the waters? (Score:2)
This affects anyone who wishes to program in Java. After all, the more is contributed back, the better the JRE will be. With a BSD style license various corporations will produce their own versions with various enhancments, but there won't be a single version with all of them. With a GPL license, all the contributions would trickle back to a single pool, allowing one to get the benefit of all of them.
Re:Testing the waters? (Score:4, Insightful)
> 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.
Re:Testing the waters? (Score:3, Insightful)
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 p
Re:Testing the waters? (Score:5, Informative)
Jesus (Score:2)
Sorry to sound freakish but I keep hearing this over and over again until my head explodes on why only GPL is free etc.
I agree there are only semi free licenses out there for alot of things, but BSD is considered free by all but the most extreme in the GPL area.
I use FreeBSD and prefer the license but whatever rocks anyones boat?
Alot and I mean alot of free software like Apache, Sendmail, Bind, python, and perl are not gpl either. Either they are BSD, artistic, free domain
RTFA (Score:2)
No they aren't. RTFA.
Re:Testing the waters? (Score:3, Insightful)
Sun will NEVER open-source Java (Score:3, Insightful)
Why do you
Re:Testing the waters? (Score:2)
Speed of 3D in Java? (Score:5, Interesting)
Maybe some of you out there can prove my initial performance guesses wrong.
Re:Speed of 3D in Java? (Score:5, Informative)
Re:Speed of 3D in Java? (Score:2)
Re:Speed of 3D in Java? (Score:2)
Re:Speed of 3D in Java? (Score:4, Interesting)
Re:Speed of 3D in Java? (Score:3, Informative)
It's JDIC [java.net]
Re:Speed of 3D in Java? (Score:2, Interesting)
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.
This is impressive? (Score:2)
Looking glass is cute, but also utterly useless, both as a system and as a performance indicator.
Re:Speed of 3D in Java? (Score:5, Informative)
Re:Speed of 3D in Java? (Score:5, Funny)
Re:Speed of 3D in Java? (Score:2, Funny)
I dont know what you just said... (Score:2, Funny)
Completey incorrect analogy (Score:2)
Traditional compilation is like taking food, and deciding what body part exactly that food is going to be turned into ahead of time and converting it before eating - so that steak may be turned into muscle, or perhaps a bit of extra fat to go around your stomach. Then you graft it on without the pleasure of actually eating.
Meanwhile let's example what's happening with the Java (TM) Steak. You eat the steak (code) as normal, then your body (processor) decides at ru
Better stay away from analogies (Score:2)
Point is YOU DO NOT KNOW THERE'S A BEAR (Score:2)
Oh really? How did you know there was a bear?
You can optimize forever, but any optimization that is not dynamic invariably has made SOME choice that is incorrect, or at least has not made all the choices it could have made knowing exactly how the program was to be run. In this case the bear come on
Re:Speed of 3D in Java? (Score:2)
Re:Speed of 3D in Java? (Score:2)
Re:Speed of 3D in Java? (Score:2)
Re:Speed of 3D in Java? (Score:5, Interesting)
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.
Re:Speed of 3D in Java? (Score:5, Informative)
Re:Speed of 3D in Java? (Score:5, Insightful)
Re:Speed of 3D in Java? (Score:3, Informative)
Re:Speed of 3D in Java? (Score:3, Interesting)
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.
Not true any more (Score:3, Interesting)
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. [sun.com]
Re:Speed of 3D in Java? (Score:3, Informative)
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 SI
Re:Speed of 3D in Java? (Score:3, Informative)
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 J
Re:Speed of 3D in Java? (Score:2, Informative)
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.
Re:Speed of 3D in Java? (Score:2)
Re:Speed of 3D in Java? (Score:2)
As an aside, the fact that people have to advocate something to me signals that it doesn't measure up in some category. Good products stand on their own merits.
Re:Speed of 3D in Java? (Score:5, Informative)
Re:Speed of 3D in Java? (Score:5, 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.
Re:Speed of 3D in Java? (Score:4, Informative)
Well, there are several projects available which make OpenGL available for Java programmers.
Lightweight Java Game Library [lwjgl.org]
Open GL for Java [jausoft.com]
Don't think the second one is still being developed, but I think Sun is working on something more up to date.
Re:Speed of 3D in Java? (Score:2, Interesting)
It's true that SciVis, CFD and the like aren't going to be happy running in Java, but I believe you can do a good flight sim or game using Java3D.
(Disclaimer: I haven't used Java3D... OpenGL and Pe
Re:Speed of 3D in Java? (Score:2)
The commercial MMOG (massive online game) guys are after it since they won't have to sell CD/DVD to broadband users, will be multiplatform and could run inside browser.
I have seen what happens if a commercial company codes java apps and sells them. E.g. I am a thinkfree java office user and I am pretty amazed about the performance. So, it won't be vaporware if Sun doesn't do a stupid thing. Can change face of gaming...
Re: J3D is more a competitor of VRML (Score:5, Interesting)
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 [math.ubc.ca]
X3D [web3d.org]
Re:Speed of 3D in Java? (Score:4, Interesting)
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 [j3d.org]. You may also want to check out Xith3D [xith3d.org], another highlevel scenegraph API written in Java that is optimised for gaming purposes and gets even better performance than AV3D.
Medical Applications (Score:3, Informative)
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 be
Re:Speed of 3D in Java? (Score:2)
Re:Speed of 3D in Java? (Score:2)
You spend hardly any time in the JVM dealing with static objects. So you can focus on doing real-time effects (like modifiable terrians). But Java3D is much more limited than OpenGL in w
Will 3D ever boom? (Score:4, Interesting)
Re:Will 3D ever boom? (Score:3, Insightful)
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.
Re:Will 3D ever boom? (Score:2)
What we however will most likly see in the
Re:Will 3D ever boom? (Score:2)
I definately see visulisations like this happening in the future - as internet bandwidth
Re:Will 3D ever boom? (Score:2)
The mind is far better at doing things in 2d. The only reason you can close one eye and do anything, is due to experience. We know how large the average book is, or a couch, or a car. So it only would make sense to a person if it's only so far away or clos
BFM (Score:5, Interesting)
Re:BFM (Score:3)
I believe the mini-mmog Runescape [runescape.com] uses Java for its 3D engine - although it's pretty primitive.
Please mod me down (Score:4, Funny)
Re:Please mod me down (Score:2, Funny)
Re:Please mod me down (Score:2)
But instead he opts to spend the time and money to have sex with a specific 13 year old that lives in another state, meaning there might be some mental connection to her above just her being a minor and him being a pedo.
Re:Please mod me down (Score:5, Funny)
A little bit of brain also helps to detect sarcasm, something you might wish to try from time to time.
Lookglass ? (Score:3, Interesting)
Whaa?!? (Score:4, Interesting)
-------
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!
Re:Whaa?!? (Score:2, Funny)
But..
Will they die too now?
Re:Whaa?!? (Score:5, Informative)
You are dreaming! BSD for the utils and examples. Whoopie.
The main product...
Re:Whaa?!? (Score:4, Informative)
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...
fav java 3d demos (Score:5, Informative)
Re:fav java 3d demos (Score:5, 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.
Re:fav java 3d demos (Score:2, Informative)
It's called JOGL [java.net]. 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
Re:fav java 3d demos (Score:2)
You should take a look at Sun GC site. Tuning the GC [sun.com] may help.
Re:fav java 3d demos (Score:2)
Java 3D is slow (Score:4, Interesting)
Re:Java 3D is slow (Score:5, Interesting)
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.
That's too easy (Score:4, Insightful)
JavaScript 3D [icarusindie.com]
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
Re:That's too easy (Score:3, Interesting)
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 librar
Re:That's too easy (Score:2)
The problem is that most devices that rely on Java like Cellphones don't have a large enough screen to make 3D really useable.
Perhaps you missed the 3-D Gaming on Your Cellphone [slashdot.org] story that appeared on Slashdot some time ago. Unfortunately, since it is old, the link in the story takes you to NYTimes.com's archive where you have to pay to view the article. Here [iht.com] is another copy, but no pictures.
Not Free Software or Open Source (Score:2, Informative)
Re:Not Free Software or Open Source (Score:2)
Re:Not Free Software or Open Source (Score:2)
Bullshit. I for one, don't recall agreeing to accept OSI's definition of Open Source as the one and only such definition. Open Source is a fairly general term, with many definitions.
Troll. If you can't use the source, how is it open?
Besides, the source for the "core" stuff is released under both the JRL and the JDL.. reading over the JDL, it looks pretty damn open to me. The biggest thing I see that seems overly restrictive is the t
Java3D is a superset to DirectX, OpenGL (Score:5, Insightful)
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.
Re:Java3D is a superset to DirectX, OpenGL (Score:3, Interesting)
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 Ope
VRMoo is a Java 3D App (Score:2, Interesting)
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!
don't touch it (Score:2)
As always, there's also LWJGL... (Score:2)
If all you need is a stripped down OpenGL library without all that messy swing and awt code and want to just get down and write some nifty console-style games, LWJGL could be the library for you.
Re:As always, there's also LWJGL... (Score:2)
the reason for the licences they picked... (Score:2)
The problem is, if it was BSD or LGPL, all it takes is one person to make a change that intentionally or unintentionally breaks the API before we end up with the kind of problems that SUN is trying so hard to avoid.
Basicly, it seems like there is one licence for "use it however you like except you cant sell it or use it commercially" and then another one for those waniting to use it commercially where you have to pass all the java compatibility tests to be able
Re:the reason for the licences they picked... (Score:2)
You are right. Examples are successive versions of gcc (some of which would compile the Linux kernel, others would not), the Perl 4 -> Perl 5 transition, and current different implementations of Python. (Python, Jython, and Python on
This is just GPLing abandonware (Score:2)
Newer work seems to be based on calling OpenGL from Java. With widespread OpenGL support in hardware, that make
MEGACORPS ONLINE (Score:2)
http://www.megacorpsonline.com/ is a Java game that more or less proves that a "high quality" FPS can be done in Java. It's beta, done by a small team, so it isn't quite going to compare to Doom3 or Half Life 2, but it does show a game 3d application running well.
As Java Programmer... (Score:2)
A fast Java 3D would be terrific. Sun, here's a quick hint: Get the basics down, 3d cubes, spheres, etc, optimize them to hell and back, make them blindingly efficient and fast, and then do the icing on the cake. I don't care if it just takes one function call to crea
Universal games are now (Score:4, Interesting)
Puzzle Pirates [puzzlepirates.com] 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.