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.

(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.

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. 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.

@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

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.

@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

@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).

@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

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.

Got a question about Java and game programming? Just new to the Java Game Development Community? Try my FAQ. Its likely you'll learn something!

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.

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.

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?

Quote

(They haven't succeed yet and theyve been trying for somwehre between 5 and 10 years already, but who knows they might someday.)

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.

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

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.

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 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.

I'm sure there are thousands of reasons for using OpenGL but that's not my point. I think there should be a real choise. To me it seems some developers are trying to rob the rest of their choise by claiming that DirectX doesn't mix with Java and that's it.

I see no principal reason why Java shouldn't support DirectX. If you want to fight Microsoft then fine go ahead and do it but don't use your vendetta as an excuse to restrict other developer from having a choise. DirectX is defacto standard on Windows and Windows is important for games and therefore Java should support it.

How many years did Java lack OpenGL support just because someone had decided that Java3D was good enougth for Java gaming? Don't make the same mistake with DirectX.

Ok. Its basically like this... people are free to do whatever they want to do in their sparetime. By the looks of it no one wanted to make a dx7/8/9 binding... thats the whole reason why there isnt one.

Ok. Its basically like this... people are free to do whatever they want to do in their sparetime. By the looks of it no one wanted to make a dx7/8/9 binding... thats the whole reason why there isnt one.

Feel free to write one.

So JOGL and Java3D are developed by people in their sparetime?

If Microsoft showed an interest in providing a DirectX binding for Java would that be a welcome initiative?

Companies are also free to make their own decisions. Amazing, isnt it?

Sure. Microsoft is free to pursue DirectX.

It seems that everybody here is hoaxed into believing that OpenGL is the optimal choise for a new game (it most certainly isn't). You have an endless number of arguments in support of your next failure. You seem more interested in supporting the Sun policy than coming up with the next killer game. Well, good luck to you.

Quote

Oh and java3d does support directx.

I know and I find it quite strange actually (although i know it's for historical reasons). You have DirectX where it doesn't matter that much, but not where it's essential, namely as a low-level Java binding for writing games running optimally under Windows.

I can't say I understand why you're making such a big deal out of the DirectX thing. Obviously nobody has felt a big enough need for a directx binding to actually go out and make one. I think that if you choose Java as your development platform, cross platform support is probably important to some degree. If that is the case OpenGL, OpenAL and other cross platform apis seem like a natural choice. If your going to develop for windows only, maybe C#/Managed DirectX is a better fit than Java in the first place.

>It seems that everybody here is hoaxed into believing that OpenGL is the optimal choise for a new game (it>most certainly isn't).

"hoaxed"... uhm... right. (Btw its "choice".)

OpenGL really seems to be a very good choice for shareware games. Xplatform makes a big difference there. Big enough (50+% mac sales isnt all that uncommon) to offset the slightly higher failure rate on windows (compared to dx7* for example).

[* Its sorta unlikely that someone has an up to date DX, but no proper drivers.]

>You have an endless number of arguments in support of your next failure.

You could try to backup your arguments with facts or you could play the Hitler trump card

Well, as I said... feel free to write a DX binding yourself. That would be great. Really.

I think "freedom of choice" is really the only good answer to the "Why no DX" question. And it addressse both sides:

Q: Why prefer OGL over DX with Java?A: Freedom of choice for developers. A primary draw for most people to Java is cross-platform. I'm a Linux user. I have friends ( whome I mock ) who are die-hard Mac users. Tha majoirty of my friends and family are Windows users. I want my development efforts to be as equally valid on any of their machines without any extra effort on my part. I really don't care about what the philosophy or principals of the OS developers were. If the OS can run the correct JVM and the hardware implements the OGL / OAL correctly then I shouldn't NEED to care. That is where Java is better than any other option available to me.

Q: Why should the customer care about OGL support?A: Freedom of choice for the customer. The "targeted platform" model is why you can go into Best Buy and find hundreds of games for Windows, a couple dozen for Mac, and absolutely none for Linux. That model robs freedom of choice ( "I can't choose Linux as my OS of choice if I want to be able to play current games" ( which is incorrect, but an example )).

Q: Why hasn't anyone written a good DX binding for Java?A: Freedom of choice for Sun / independent library developers. When their choice is to use a cross platform technolgoy to support a cross platform audiance, what can be gained by focusing on a single-platform solution? Not only does it divert resources that can be better used for cross platform efforts, it also provides a form of acceptance and support for the practices of the company that chooses to restrict its audiance's choice.

Q: Why doesn't MS promote or provide DX bindings for Java? A: Thier freedom of choice. Historically they promote and partener their technologies with vendors in such a way that Windows is "better' with other MS technologies. Thier choices to tightly integrate "Explorer" functionalities, design a web browser to be part of a desktop functionality, control file formats of Office apps so it's hard / impossible to use them with any other software, etc. This isn't even getting into thier choices that brought them under numerous monoploy law suits. These choices are agressive and controlling business practices that have made them a massively successful company.

Don't get me wrong here. When I eventually achive a degree of global domination I am sure there will be many groups of people across the world that are not happy with the choices I made to get there either. I doubt I will care any more about the opinion of that minority than MS cares about the opinion of many of us. If I'm lucky I will have the same media and public relations capabilities as MS has over the last couple decades to ensure those people are viewed as disgruntled or dangerous and can be ignored while everyone else continues to believe that there is no reason for them to exercise thier Freedom of Choice.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org