Sign in to follow this  

Changing from Directx to OpenGl? (Few questions)?

This topic is 2832 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I don't want to start an argument (the internet is flooded with those). I just have a few questions and i would appreciate it if you answer all of them :) 1- Which API is more common in gaming, D3D or OpenGl? I went on wikipedia to see which popular gaming titles were made with which API. Most of them used Directx. Why?(I realize both are popular, but one has to be more popular?) 2- Right now, which API's future seems better? 3- Is catering to non-windows users that big of a deal? 4- How does OpenGl being open source, affect me, as a programmer? 5- Is it true that Direct3D is used for gaming only, while OpenGl, other than being used in games, is dominant in the field of professional graphics rendering like movies? 6- Will OpenGl become more object oriented like Directx in the future, i find OpenGl kind of ugly at the moment lol? PS: I'm not converting because i think OpenGl is easier. On the contrary, i find Direct3D 10 times easier.

Share this post


Link to post
Share on other sites
1) for professional games its most certainly D3D. All today's great games use D3D. There might be some good one with OpenGL, but dunno for sure.
2) this is exactly the question that might start with huge arguments :-) But IMHO, D3D wins. There are new versions from time time, so it evolves, but OpenGL does not that much:-(
3) well, i personally don't care much for non-windows players
4) it probably doesn't :-D
5) D3D is for games, OpenGL for technical applications. Not for movies. I think they have their own graphic API...
6) That certainly would improve my opinion about OpenGL, but i doubt that, since it hasn't changed much for years...

D3D easier than OpenGL? To render one triangle in D3D requires 5 times more code lines :-)

Share this post


Link to post
Share on other sites
1. Among commercial Windows games D3D tends to be very popular. OpenGL gets more use when Mac/Linux are thrown into the picture, but even in that case the Windows version still might use D3D.

2. I don't think I'm very good at predicting these things. It seems that for the immediate future, both will retain their primary advantages and disadvantage. For D3D the big advantage they have is that Microsoft can push changes and updates to their API without having to get a committee to agree on it, but the downside is it's Windows only. OpenGL has the total opposite scenario.

3. It totally depends. Windows obviously has a much bigger marketshare, and a lot of games do fine on that alone. I have no idea how much extra revenue games make from their Mac versions. You'd really need some solid statistics (plus some good estimates of how much it would cost to add Mac/Linux as target platforms) to make a good decision.

4. OpenGL isn't open source...it's an open standard. This really just means it can be implemented on many platforms (but you knew that already), and that if you wanted to throw down the money you could become a contributing member of the Khronos group and participate in the arguing about new versions of the API.

5. Traditionally D3D is used mostly in the realm of gaming, while OpenGL has traditionally been the API of choice for high-performance commercial applications. But that's certainly not set in stone, and it's not necessarily a reflection of the either API's capabilities.

6. I'm not going to try and predict what's going to come out of Khronos. When 3.0 was first announced it was supposed to have a revamped object-oriented API, but instead they came back with something that looked like 2.0 with some new core features.

Share this post


Link to post
Share on other sites
I'm assuming you mean for PC development, so here goes.

1) D3D is more common amongst professionals/studios. It's certainly better supported as their actually is a horses mouth and the tech guys are very open and approachable on the DirectX mailing list among others

2) D3D has a future, OGL just seems to have an argument. All this extensions nonsense means you never can be sure what features are available. D3D isn't that much better tbh, but from 10 onwards things get a lot, lot saner.

3) Nope. Linux market = 0. Mac market = slim. You don't see many commercial releases for either, though I understand you can make some sales there as an indie as Mac owners are so starved by the lack of big titles.

4) It's not, so it doesn't :)

5) No. OGL probably has more penetration away from games, but both API's are useable for other multimedia apps. Something that with XNA in C# that MS are actively pushing

6) Who knows. AIUI, version 3 was meant to be like that!

I have no preferences here, they're both just a means to an end. As a studio making multi/varied -platform titles, we have several formats using some flavour of GL ES, but only two using a version of D3D.

Hope that helps.

Share this post


Link to post
Share on other sites
Quote:
3) Nope. Linux market = 0. Mac market = slim. You don't see many commercial releases for either, though I understand you can make some sales there as an indie as Mac owners are so starved by the lack of big titles.
I've seen reports of a significant percentage of sales for some indie games being for Linux and Mac (there's a Linux-related thread going in General Programming right now that touches on this). It's all anecdotal of course, but if the OP is a hobbyist or indie developer, it might be worth considering.

Like you said, this may only be relevant for indie developers, but the OP may very well fall into that category.

@The OP: Keep in mind that there are many higher-level tools available today that will abstract away details such as the underlying graphics API, and provide cross-platform support (for some definition of 'cross-platform') out of the box. (Whether any of these tools would be useful to you depends of course on your personal preferences and goals as a developer and on what types of games you want to make.)

Share this post


Link to post
Share on other sites
Valve just announced that they are porting Steam and the Half Life Source engine over to Mac via OpenGL, so apparently someone thinks that there is a viable market for non-windows users. I'm sure they would not bother if they didn't feel they would recoup their development costs and then some.

Also OpenGL ES is very popular in handset market. While its not exactly the same as OpenGL, it works the same way I believe. This is an exploding market right now if you are interested in mobile gaming. I think you can use it for 3d acceleration in Android and iPhone and probably many others.

To be honest it doesn't really matter which API you use, they both expose the same hardware. Every so often one API will expose a new feature, but then the other will add it a few months later. OGL just announced version 4.0 with support for Tessellation units which was a big feature of DX11.

Share this post


Link to post
Share on other sites
Quote:
Original post by Str3jda
2) this is exactly the question that might start with huge arguments :-) But IMHO, D3D wins. There are new versions from time time, so it evolves, but OpenGL does not that much:-(

Actually, this was true a couple of years ago, but the situation has changed quite a bit today. A few years ago, OpenGL lost a lot of developers to D3D due to its very, very slow adoption of new features. But against all predictions, things actually started to move pretty fast during the last year. OpenGL 3.x closed the gap to DX10.x, and the new OpenGL 4.0 brings DX11 equivalence. The ARB has been a lot more reactive lately, pushing out new versions and extensions at a rate that is an order of magnitude higher than it was before.

Both APIs are here to stay.

Quote:

5- Is it true that Direct3D is used for gaming only, while OpenGl, other than being used in games, is dominant in the field of professional graphics rendering like movies?

Movies use offline software renderers that work in a very different way than either D3D or OpenGL. But it is true that OpenGL is the dominant API in professional realtime 3D. Aside from historical reasons, and the better support of OpenGL on professional hardware (compared to D3D), OpenGL offers some features that are important for professional applications and that D3D doesn't have. These features are irrelevant for games though.

Share this post


Link to post
Share on other sites

This topic is 2832 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this