Understanding Sun

I didn’t actually think they would let Java3D die on the vine. But with Kelvin Chung and Mark Hood laid off there isn’t anyone left (to my knowledge).

What is next? JavaSound? JAI? ImageIO? Java2D?

It is one thing to develop free technologies, but Sun has generally not released source to many of their free technologies, leaving us critically dependant on them. To take them away and not release the source seems a bit… well odd.

I am trying to figure out what the heck is going on. They may think they are killing this one little API, but it really undermines confidence in their whole technology suite.

And are things that bad financially at Sun that they can’t afford 2 engineers on an API they spent the last 6 years developing? That scares me even more.

Where did you see info about layoffs ???

EDIT: Ah, I just saw the Java3D forum post…

Is Java3D officially dead, then? :’(

Or just brain-dead and waiting to die…

Java3D has been dead for a while now. It will be up to us as a community to use Xith3D and similar to keep it alive and kicking. IOW, we can no longer depend on Sun to support our various interests because they are in the process of figuring out what their interests are.

The announcement of official OpenGL bindings at SIGGRAPH pretty much signalled the end of Java3D support IMHO.

Laying off the last peeps on it pretty much tells the world where is stands with Sun. Perhaps they will open source it, there was talk once.

It’s funny, we would have been willing to pay for support at one point. We put a lot of work into our loaders and support classes.

On the other hand, OpenGL 1.5 is a wonderful evolution, and we now have direct access (roughly). Actually, OGL has gotten much higher level than it once was, and many of our components are moving to OGL fairly easily since most operations were directly on GeometryArrays and really basic graphs (Group, TransformGroup). We have a working renderer for limited J3D scene graphs (which I swear I’ll post soon! ). Those still in J3D-land, we say start planning a migration path for your next project :slight_smile: Plus, it can run on OSX too!

Even if J3D was alive and kicking it would take year+ to get 1.5 features into it.

P.S. I got real drunk the FIRST time they laid off everyone on the J3D team something like two years ago. When that happened Full Sail pulled the plug on our internal development for Java3D AND all Java. :frowning:

All I can say is, if you ever totally understand Sun, explain it to me :confused:

JK

I chose Java3D thinking it is a well supported API from a big company that is stable enough to form a community where lots of useful stuff comes from. And first it seemed to work (loaders, j3d.org, Mark and Kelvin on the list…)

Now, there maybe are things like Xith3D which are single-person efforts. That’s a big difference! (Although it doesn’t say anything about the quality!)

What about a clear strategy that is reliably followed?

DX, DX3, DX5, DX7, DX8, DX9, …

Unfortunately in this day and age, the strategy is dictated by money - and Sun still doesn’t get it. That’s why I wouldn’t have supported JOGL unless it was open source and I won’t support their new JSR until it becomes open source. Actually, I may never support it - just adding the capability to JOGL :slight_smile:

[quote]What about a clear strategy that is reliably followed?DX, DX3, DX5, DX7, DX8, DX9, …
[/quote]
Don’t you tell me that when I finally get to understand Java that I will have to use Microsoft crap. >:( For the love of God!. Please. I wanted to learn Java so that I can escape my dependence on Windows not depend on it even more. Besides putting DirectX bindings into Java would just make it platform dependent on Windows (shudder).

But OpenGL is really good! Supported by most operating systems and used in popular CG animation programs. And it is so much faster than DirectX in my opinion because it is capable of utilizing hardware to a better degree.

Herk was just pointing out that Microsoft has a strategy for their DirectX API, and keeps coming out with upgrades. This is one of the ways they keep getting people to develop to their APIs, by always adding the newest hardware features to the API.

Also, FWIW Java3D does have Direct3D bindings, in addition to OpenGL bindings – leaves the choice of which to use up to you, but doesn’t tie you to the platform.

Now if someone uses jdirect3d, that would be tying yourself to the platform! :stuck_out_tongue:

[quote]Herk was just pointing out that Microsoft has a strategy for their DirectX API, and keeps coming out with upgrades. This is one of the ways they keep getting people to develop to their APIs, by always adding the newest hardware features to the API.
[/quote]
This “strategy” of DX isn’t straight, is it? Several times the entire architecture of DX changed from one version to another. This provided work to the developers and a break to customers, whose DX Version-A games didn’t run with DX Version-B.
Same with J++: it died, customers were “singing” in the rain…
Again the same with Win32 API to Win.NET: kick your Win32 knowledge and tools you’ve learned all the years and go for .NET: which is a Java clone “born to eliminate Java”…

I don’t want to discuss MS “strategies”. However I don’t think one could blame company A and put euphemistically what company B does. (Aside this there’s always the problem with the Imperium Microsoftanum.)

SUN supports OpenGL now and this is good, because OpenGL doesn’t depend on one single company and is an industry prooven API.

P.S. I too think that it’s a pity if Java3D wouldn’t be developed further. :expressionless: You could use engines which base on “OpenGL for Java”. Similar to the “normal” games market: companies use ID’s engine or Epic’s one or … There too is no guarantee that ID or Epic doesn’t stop business tomorrow…

Good, thanks for clearing that up. :wink: phew.
Stupid Microsoft!

Does anyone find that DirectX is slower than OpenGL?

Depends on the graphics card. Though you notice most games currently use DirectX.

Kev

Relax guys. Trust me. This announcement does not mean yet another API.

JK

Ah, the old OpenGL vs DirectX debate! The only things I will say with confidence are:

[]Driver quality varies wildly over time, so the debate can never be cut and dry.
[
]DirectX is Windows-only, OpenGL is cross-platform.
[]OpenGL is (IMHO) more readable.
[
]DirectX is driven by a corporation that makes a lot of money if it succeeds; OpenGL is driven by a comittee that can get bogged down for months without any real penalty to themselves.

OpenGL also tends to be more of a compromise by the IP holders whereas DirectX just takes the best available and makes everyone else comply or fail conformance tests. (DirectX has killed more 3D hardware vendors than I care to mention)

DirectX tends to move a lot faster because few are involved in the design process and its easier to ship now and fix later. OpenGL tends to move slower because it takes some time to get agreement out of the IP owners and there isn’t a standard body which makes sure an OpenGL/MiniGL implementation is accurate.

And the most important one :slight_smile:

DirectX is on consoles - OpenGL is not… though I wish Sony would wake up and smell the market. Getting developers using a standard API between console revs means lower cost of entry and increased revenues through reuse and standardization.

On all consoles?

I thought the PS2 was quite openGL like, but I may have dreamed that, as I never even thought about programming for one, let alone researching it.

[quote]OpenGL also tends to be more of a compromise by the IP holders whereas DirectX just takes the best available and makes everyone else comply or fail conformance tests.
[/quote]
Important distinction here being best in this case is defined as “whats best for Micrsoft’s interests as they see them at that moment.”

For ARB extensions yes, but for platform specific extensions there is an extension mechanims b ywhich anybody can add functionality to their drivers without going through the ARB.

Hmm DirectX is on XBox and only Xbox, whose console status is at least somewhat arguable. In opint of aftc though by all reports from XBox develoerps none of them actually USE DX in their shipped products because they cna get much better performance by coding straight to the hardware without much loss since their DX code wouldn’t port to other consoles anyway.

OpenGL is on GameCube. Its on PS2 with the Linux kit, there is a limited OGL subset for PalmOS, OpenGL ES is slated for small devices.

Seems to me in the device category DX is the big loser.

[quote]On all consoles?

I thought the PS2 was quite openGL like, but I may have dreamed that, as I never even thought about programming for one, let alone researching it.
[/quote]
The PS2 is distinctly not OpenGL like. Sony has a history for making ‘interesting’ proprietary APIs. The one for the PS2 didn’t particularly suck, but it certainly wasn’t an easy/straightforward API to deal with.

Can only speak about the platform developers who I know personally - most of which don’t even consider the Gamecube a viable target and the XBox easier to approach from the standpoint of moving their code from the PC to the XBox. It becomes a lot cheaper for them to develop their code since they can either go bootleg to get to an alpha to show publishers or they can take their existing DirectX title and port it will little to no effort. In addition much of the middlewear out there does target DirectX fairly specifically - some even giving up on their OpenGL ports.

Right, but this isn’t whether or not OpenGL is a better choice - its whether or not you can take a DirectX title (today) into a publisher and say ‘hey I can do PC and Xbox SKUs right now’. For many of the people I talk to, this is exceedingly important because they don’t see money in developing for PalmOS or other small devices - yet. Thouse there are couple out there who see the writing on the wall :slight_smile:

It should be entirely possible and indeed eminently worthwhile to produce an OpenGL driver written in pure Java which calls DirectX to implement its OpenGL functionality.

Not all of OpenGL needs to be supported; OpenGL ES would be adequate.

I was having a little think about LWJGL and wondering whether we should be supporting full OpenGL at all any more. OpenGL ES is a very tidy, nice little spec with all the crap thrown out. Kind of what we want…

Cas :slight_smile: