Your opinion about DirectX10 and OpenGL?

What is your opinion about DirectX 10 and what Microsoft is trying to achieve with it? Is OpenGL fading away? Where will Java stand in all this?

Appearently, Microsoft is trying to bury OpenGL, and trying to govern the 3D standards. Sure, I give kudos to Microsoft for being active in 3D development, and OpenGL lagging behind. But, what happens if Microsoft finally takes over the 3D stuff, then it can behave like it wants? Or not to do any work on it at all?
Remember Internet Explorer? They hadn’t done any work on it, thought it was as good as it gets, for about 4-5 years. Just patching security bugs. Is that what we want to see happening? Microsoft dominating the 3d market, and then it thinks there is nothing else to develop further, the competition is gone, they can just start to relax… and do no work on it for years! That’s dangerous, since nobody except Microsoft has access to the DirectX code.

Linux, Macintosh and Playstation 3 all run opengl. I wouldn’t be too worried about it dying anytime soon. =)

(Managed) DirectX 10 looks great, but OpenGL 3.0 will probably provide more or less the same functionality.

In contrast to the IE, DX10 far from beeing a standard:

  1. There is still no DX10 Hardware available and I beilieve using the new functionality on first generation will be really slow.
  2. Most developers will stick to DX9 since, version 10 is Vista only - not on WinXP and even more important not on the XBOX 360.

In theory, OpenGL should be equal to DX10 no matter what version through vendor extensions. But thats hardly been the case…

Although the ARB board is now planning on handing to the group that is managing OpenGL ES (which has been a relative success), things should be speeding up soon.

DP

ARB have been a little slow lately (what with the uberbuffers thing falling flat, and a whole other load of delays). DX10 should give them the kick up the arse they need.

Microsoft have been trying to kill off OpenGL for many years now, so this is all old news. It’s just that MS get a little more pushy with their FUD when they’ve got a new OS comming out soon (remember all the fuss over XP not supporting GL? They’re never actually going to drop it, but they can scare a few people into switching).

@1) Not yet, but before the end of this year there will be Hardware. ATI and NVidia allready announced that their new graphic card generations will have shader model 4 implemented.
@2) Maybe M$ just sends an update through xBox Live and all xBox live users would have DX 10.

@OGL 3.0: Hope that the ARB get in on the way faster than OGL 2.0 else there will be DX 11 or DX 12 available before :wink:

For Linux and Mac users, Open GL is the best issue for games, apart from emulation.
Let’s wait the DX improvements that will come around with Windows Vista.

Don’t forget that Open GL is a free API while Direct X is aimed to make money…
This point brings me to the question : “why should I pay for something equivalent I can get for free?”

java Devs only have to wory about qaulity becouse java can support both ;D

Is there a DirectX lib for java?

Java3D works with both OpenGL and DirectX.

It is the only API I know of that does use directx from java though. There was talk of a dx binding for java, but I was not interested so I did not keep up to date on the topic.

Endolf

Would be nice to have a DX binding IMHO. Just to prove that those scenegraphs rendering layers are infact API-agnostic and are cooool :slight_smile:

DP

@2) I don’t see how this could be possble since the ATI chip in the XBOX-360 probably doesn’t provide all DX10 capabilities
@OGL 3.0: IIRC, Microsoft aounced that there will be no new major DX version for Vista, only minor API upgrades and changes in the HLSL

IMHO the main problem is that Managed DX is far more easy to use, since functionality for a specific feaure (like VertexBuffers) are grouped by OO classes. Further, enum arguments let you find the possible values. e.g. a TextureFormat enumeration contains RBG, RBGA, … In OpenGL I have to watch the function’s documentation, in D3D the IDE’s autocompletion lists all values and if a combination is invalid, an exception is thrown (vs. GL error queries).

Well, Java is aimed to make money too, but as often outlined in the forum, that doesn’y matter. Neither a developer nor a gamer has to pay for DX. (at least not directly)

@DrexxsBox: Yea not all features, but iam sure that they can emulate some stuff. None the less, i don’r care about XBox and DX. The XBox games allready lag on graphics some time. And there are less interesting game titles for it. All other consoles support OGL. Even the tiny gamecube.

@no dx update: hmm, like for XP? Starting with 9.0 and ending with 9.0c :wink:

Checkout www.poxnora.com, its an example of a web game writtent totally in java and the java wrapper for openGL (JOGL).

Im one of the devs so I think its a good game, but that game is an example of somthing specific: a game that runs from the same place on all systems because it uses java and openGL (JOGL).

Tribal Trouble is the cannonical example of a big success OGL and Java cross platform 3D game.

OGL good. DX bad.

But if MSFT actually suceeds in killing OGL on the PC Then we mayhave no chocie but to come up with a DX support layer for Java. .(They haven’t succeed yet and theyve been trying for somwehre between 5 and 10 years already, but who knows they might someday.)

At which point anyone sane will wrap their own layer around it to hide the differences from OGl on the other paltforms so they can still code cross paltform or use somethign like JMOnkeyEngine and let someone else do the wrapping.

I don’t see why a DirectX wrapper for Java is less motivated than an OpenGL one. I guess the argument for not having one goes like this:

“Java is multi-platform and so is OpenGL but not DirectX so therefore it’s natural that Java supports OpenGL only.”

I know JOGL is open source but it’s heavily supported by Sun. A DirectX wrapper is a major undertaking so without substantial support it’s quite unlikely to happen. If Microsoft tried they probably would be stopped by Sun. Still if invited they might be positive. Then there would exist a real choise for Java developers to support either API or both in their applications.

Who’s we? The Java developers or Sun? As a Java developer I want options, not being a pawn in some company struggle for domination. I wouldn’t be surprise if Sun is against supporting DirectX in Java but why should I care?

DirectX is the preferred low-level graphics API for gaming on Windows so why shouldn’t Java support it now?

Sure they might some day and maybe Java manages to “kill” C++ some day. Microsoft could have used OpenGL but chose to introduce DirectX. Sun could have used C++ but chose to introduce Java. The principal difference is minimal. Don’t try to make this a moral issue.

[quote=“uj1,post:17,topic:27824”]
Why play into Microsofts hand? The more developers that use OpenGL the harder it is for them to kill. Stopping Microsoft from using their monopoly to kill good tech and harm the industry is a good thing.
But that’s just wishful thinking…

The real thing to ask is. why make a binding for DirectX on one platform and for OpenGL everywhere else, when the OpenGL binding will work everywhere anyway? It just makes more work (almost double?) for very little gain.

You can also ask what makes OpenGL entitled to a monopoly? OpenGL once started out as a company standard too. It probably made life hard for a couple of existing APIs at the time. It has wrestled itself into its present prominent position but that doesn’t give it a right to a life without competition. Competition is a good thing and I’m sure the pressure from DirectX on OpenGL is good for developers in the long run.

As a developer I want real options and the freedom to make my own decisions. I may want to support both OpenGL and DirectX in my application. Or I may want to use Java with DirectX knowing that my application initially won’t be portable but because I like Sun Java more than any .NET language.

It’s just to face it. DirectX exists as the defacto standard on Windows. It’s a liability to Java that there’s no equivalent to JOGL supporting it. Java3D is an option of course but not every application benefits from a scenegraph.

“Java is multi-platform and so is OpenGL but not DirectX so therefore it’s natural that Java supports OpenGL only.”

Almost.

Java is xplatform and so is OpenGL, therefore it makes sense to focus on that. From statistics it looks like it yields more sells then dx and win only. D’oh.

Well, vista comes with some opengl 1.4 dx wrapper. So even w/o proper drivers you get acceleration.