Your opinion about DirectX10 and OpenGL?

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.

Huh?

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?

of course, iff Microsoft promises that Managed DirectX for .NET wil not always be one step ahead… :wink:

java needs more AAA games, not game libraries, in order to become more popular for gamedev

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

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

And… OMG! There aren’t any glide or heidi bindings! This SO reeks of personal vendetta!

lol.

edit: Oh and java3d does support directx.

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.

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 :wink:

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

There is a choice - you can always go and use C# if you want to use DX. Since DX ties you to windows anyway you’re not exactly loosing anything.

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 DOES support it now. Its called JNI. Go write your own JNI wrappers.

But if you want Sun to provide those JNI wrappers for you then the first part of your post makes absoltuely no sense, right?

Java has a native interface so it supports everything. What a convenient definition of support. Did you make it up all by yourself?

What makes no sense?

Well I’m pushing the issue a little. Nothing wrong with that, is it? :wink:

First Sun didn’t feel a need for a JOGL. Then they did. Things change.

I can understand your argument if the cross-platform ability of Java is your only reason for using it? What if you just like Java and would rather use it instead of any .NET language including J#?

The importance of being cross-platform is also very much application dependent. Is it so important to you that your new game runs on Solaris that you’re prepared to lessen its chances on Windows?

You can never fully rely on the programming language to achieve cross-platformity. Sometimes you have to achieve it at the application level by supporting several alternatives that may not each be individually portable but very suitable where they do run.

It may be but the question I’m asking is - does it have to be that way?

Sure but then I wouldn’t be a Java programmer anymore. I could quit programming altogether too. Just imagine how many problems that would solve, apart from maybe where my next paycheck was going to come from. :slight_smile:

I’m probably missing somthign here but does directx actually offer any thing that opengl dosn’t?

Or probably more to the point what do you want to do in directx that you can’t in opengl? Or why don’t you wan to use opengl?

From what I understand (and it is a very long time since I looked into it in any way) directx is not as friendly a api as opengl either.

I’m not trying to get into an argument on which is ‘right’ just trying to undrstand why there is a problem :).

Best ragards
Dan.

I’m probably missing somthign here but does directx actually offer any thing that opengl dosn’t?

Slightly higher compatibility on windows (well, depends on the dx version).

Doesnt really seem to be worth the trouble. Same like making a game run on a 300mhz cpu instead of a 500mhz one. ROI wise its unlikely to pay off. (Unless you’re using some abstraction layer or some engine which handles the api differences… obviously. Which would be surely great, but not necessarily great enough for spending some years of spare time on it. Well, there is java2d which sorta kinda does that kind of thing.)

Wrong comparison. OpenGL provides roughly the same functionality as Direct3D, but DX includes more than that. However all the additional bits have their own analogs - DirectInput is wrapped with JInput, DirectSound is roughly equivilent to OpenAL. The only bit that doesn’t have a direct equivilent is D3DX which is a bunch of utility classes for doing vector math, model loading, etc. But you can always find lots of java code for that kind of thing lying around.

ah ok. ;D

But still there isn’t really an issue here is there? It’s a bit like saing you want pepsi instead of coke?

Dan.

Well dx10 is supposed to be a much more efficent api for modern cards, but future versions of opengl will probably make up for that.

I think the issue here is not wether or not dx is friendlier, has more features or something, I think the issue here is that dx (or more specifically, D3D) is a major rendering API with a lot of experience from D3D developers and support on (for java) the most important gaming platform, windows. Compatibility of java games on windows would probably improve, if it was using D3D instead of OGL.
IMO, it would definitely be a Good Thing if there would be a d3d wrapper for windows, although it should be clear that OGL would be the api of choice if instant cross-platformness is a requirement.