• Advertisement

Archived

This topic is now archived and is closed to further replies.

OpenGL and Direct3D - Both or just one?

This topic is 5833 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

Hi, this is not a post comparing the merits of OpenGL with Direct3D, but rather, a simple question - if I am serious (dead serious?) about programming in the game industry, shall I just learn Direct3D or OpenGL, or shall I learn both? Thanks in advance!

Share this post


Link to post
Share on other sites
Advertisement
If you''re really serious about programming learn one graphics API and assembly language.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
If you are serious about going in the game industry, you should learn both, since both are widely used on the game sector. If you want to go in the professional simulation/visualization industry, then OpenGL is important, and you can forget about D3D.

- AH

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Well, start with opengl, and if you really need to, learn Microshit DirectX after. OpenGL is more widely used and that is : OpenGL is cross plaform, MacOSx, Playstation2, Linux... Opengl is professional easy to learn API (remember, Silicon Graphic developed it) where as Microsoft just wants money, that''s all they care about.
OpenGL. ORG (non profit organization) Microshit. COM (Commercial)

Microsoft screw everyone. If you look just a little bit into what they do, it is quite discusting. They are trying to take over the game market, and if everyone follows like sheeps, we''ll end up with shity game, miroshit controlled and that crashes every 5 min as a Microshit FEATURE.

Anyway, seriously, I started with D3D, and they make the simplest thing look very complex. I pick up OpenGL this summer and I can create a decent looking game 6 month later. Why go with a more complicated API, when 3D is already pretty complex by itself...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
AP, although I agree with you on the M$ point, if he is serious about going into the game development industry, he will have to learn DX, and most probably also D3D. There is no way around that. Even, if he worked for a company like IDSoft, with an ''OpenGL-only'' policy, he still needs to know DirectX.

If you want to totally dump DX, then you''ll have to go into the (SGI/Sun/HP + Unix dominated) professional non-game related sector.

- AH

Share this post


Link to post
Share on other sites
Bias. It''s so charming.

Ignore all the anti-Microsoft propaganda; DirectX has matured into a very good API, and it''s moved onto console via XBox (of course, that''s the only console it''s likely to move to). OpenGL is a very useful skill, especially since (being non-proprietary) it is available on several platforms (in various stages of standards adherance and completeness). In the final analysis, it''s good to know both, but even better to be sufficiently grounded in the principles behind the APIs. You may be called upon to implement one of your own...

As for Microsoft being a money grubbing organization, contrasted with the "non-profit purity" of OpenGL, please! This is business and money is a good thing - the lifeblood of business. The OpenGL ARB takes so long to decide on things because of the conflicting business interests of its members, a problem DirectX doesn''t have. The ARB is also still highly influenced by the leanings of SGI (who own IrisGL, on which OpenGL is based). Get your facts straight before spouting off at the mouth.

Yes, I like Microsoft (they''re one of my favorite companies) and I would love to work there.

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi
The OpenGL ARB takes so long to decide on things because of the conflicting business interests of its members, a problem DirectX doesn''t have.

Yeah, DirectX takes a long time to evolve for completely different reasons ! The API''s really have become the bottleneck, it''s no longer the hardware (to paraphrase 3DLabs in its OpenGL 2.0 proposal; which, if it is accepted, will again out distance the hardware, heh).

Threads like this are kind of useless. It''s less useless than the "vs" variation, but it still could easily be subplanted by a little research with a friendly search engine.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
> Yes, I like Microsoft (they''re one of my favorite companies) and I would love to work there

As you said: ''Bias. It''s so charming''

I hate Microsoft. I would love to see them eradicated from this planet. Each one his preferences.

BTW: I was not the other AP that went OT.

- AH

Share this post


Link to post
Share on other sites
Well in my personal opinion ( which I doubt many of you care about ), it is necessary to learn both API''s if you want to get into the graphics programming industry. Although I am a dedicated Linux user, if you are going to work for somebody that wants to use DirectX, then you better learn DirectX. If you are relatively new to both the API''s, I would recommend learning OpenGL first as it is simpler to learn.

Share this post


Link to post
Share on other sites
Both API''s have very similar functionality and similar functions. If you learn one well, then learning the other will be relatively simple. If you''re a beginner Direct X can be a little more difficult to set up than Open GL using GLUT, but it compensates by providing some additional functionality, like the matrix and vector classes, and functions to load meshes and textures from files, to make life easier.

OpenGL might be easier to learn if you don''t have a book, because there seem to be more tutorials available online. In the long run it doesn''t really matter which on you start with -- just choose one and stick with it. You should really learn to be comfortable with using both eventually.

Share this post


Link to post
Share on other sites
quote:

If you are serious about going in the game industry, you should learn both, since both are widely used on the game sector. If you want to go in the professional simulation/visualization industry, then OpenGL is important, and you can forget about D3D.


Many many many more real games are done with DirectX than with OpenGL. Did you get all those "many"s? If you want a job in the industry, learn what the industry is using.

quote:

Opengl is professional easy to learn API (remember, Silicon Graphic developed it) where as Microsoft just wants money, that''s all they care about.
OpenGL. ORG (non profit organization) Microshit. COM (Commercial)


It''s usually a bad idea to respond to anonymous trolls, but you are an idiot. A gutless one at that.


Now for my own opinion, if you care. The API is not as important as the understanding behind it. Learn the math. Learn the algorithms. Ultimately, the 3D APIs are just primitive commands, and knowing *when* to call those commands is more important than the syntax of the commands themselves.

Anyway, just my opinion.

Take care,
Bill

Share this post


Link to post
Share on other sites
LOL! I hope you''re not the "Bill" I think you are

I saw a post "I wish Microsoft didn''t exist"

You know, if they didn''t, you would be working on your prehistoric computer by now? Microsoft has done a lot for us. And although they make a lot of stupid mistakes and there are a lot of bugs in their code, they still helped us! You probably have bugs in your code, and I don''t hate you for it either. Of course, they are too commercial, but hey, what would you do? Probably just the same... Everybody needs money... They''re just really big so you notice it better.

Don''t get me wrong, I''m anti-MS too but I know when to stop... Some people just go to far with it and don''t think.

About the topic. Learning both is indeed best in my opinion. I''d start with OpenGL. If you do, you can already implement DirectInput and music etc. from DirectX so you only have to learn Direct3D afterwards, which won''t really be that hard if you''re experienced in the stuff above.

Share this post


Link to post
Share on other sites
quote:
Original post by Siebharinn
[quote]
If you are serious about going in the game industry, you should learn both, since both are widely used on the game sector. If you want to go in the professional simulation/visualization industry, then OpenGL is important, and you can forget about D3D.


Many many many more real games are done with DirectX than with OpenGL. Did you get all those "many"s? If you want a job in the industry, learn what the industry is using.

Almost every game for windows I know of uses directx. But if your talking about Direct3D to OpenGL, I think OpenGL has more of the share. Especially in the high quailty games, like RTCW(loves the game). Games like those don''t even support direct3d. Here is a somewhat complete list of recent games out that use OpenGL.
http://www.opengl.org/users/apps_hardware/applications/games.html

Share this post


Link to post
Share on other sites
At the end of the day if you know your 3D maths and algorithms, using either of these API''s is not too hard. You see, non of these API''s neccesrily gives you any extra features. If you know how, say, lightmapping works then implementing it in OpenGL or Direct3D is only a matter of looking up the Docs and finding the appropriate functions to do it.

I personally started with Direct3D 7 (later 8) and then used OpenGL and now I can use both effectively. Recently there was a article on gamedev which explained how to iscolate your graphics API specific code in DLLs, and so be able to use mulitple Graphic APIs. This is so awsome. At the moment I''m writing an engine which uses both OpenGL and Direct3D (you can switch to either one).

Hope that helps

Share this post


Link to post
Share on other sites
quote:
Original post by Siebharinn
[quote]
If you are serious about going in the game industry, you should learn both, since both are widely used on the game sector. If you want to go in the professional simulation/visualization industry, then OpenGL is important, and you can forget about D3D.


Many many many more real games are done with DirectX than with OpenGL. Did you get all those "many"s? If you want a job in the industry, learn what the industry is using.

Almost every game for windows I know of uses directx. But if your talking about Direct3D to OpenGL, I think OpenGL has more of the share. Especially in the high quailty games, like RTCW(loves the game). Games like those don''t even support direct3d. Here is a somewhat complete list of recent games out that use OpenGL.
http://www.opengl.org/users/apps_hardware/applications/games.html

Share this post


Link to post
Share on other sites
Ok, here is my opinion. If you are planning to seriously go into *Windows* game development, you will want to learn Direct 3D. It is the premier 3D graphics API for Windows, and companies will require it. You should also learn OpenGL, as it is the primier 3D graphics API under all of the Unicies(Solaris, AIX, of course IRIX, etc) and Unix like OS's(LINUX, *BSD??). Now, I must say that I prefer OPEN GL, mostly due to portability of 3D rendering code to different platforms since I am writing my first 3D engine for WIN XP & Solaris 8. Direct 3D still has advantages under Windows, such as advanced support for vertex shaders, which is important for all the Geforce 3 & soon Geforce 4 owners out there. Direct 3D simply get updated faster.

Really, the most important thing is understanding 3D mathematics and theory, as it is the foundation for all these 3D graphics API's. If you truley start to learn 3D mathematics and theory( it is a science on its own), you will be *MUCH MORE VALUABLE* to a game company, or any other 3D graphics company that you might pursue. Understanding the 3D math is where it all is.

For example, to develope a 3D graphics engine for PS2, you must understand 3D theory & mathematics. API's won't cut it for PS2. You basically need to be a 3D mathematician. Sony doesn't provide a 3D graphics API like Nintendo does for GameCube and Microsoft does for XBOX.

This is what I recommend. If you have the money, purchase a Direct 3D book & learn Direct 3D. You can get recommendations from your fellow GameDev buddies. Purchase a book on OpenGL, and learn it. I recommend the OpenGL Superbible. Thirdly, purchase a 3D mathematics & theory book, and learn the math and theory behind 3D API's. Not sure what is good. I will be getting a 3D theory book soon. I think I will ask now.

Edem Attiogbe

Edited by - KwamiMatrix on February 4, 2002 3:53:15 AM

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Siebharinn:
> Many many many more real games are done with DirectX than with OpenGL. Did you get all those "many"s? If you want a job in the industry, learn what the industry is using.

Yawn. Some people just don''t get it, regardless of how often you tell them: DX != OpenGL. The original poster was refering to __D3D__ not DX, please note the 3D after the D. Thanks.

- AH

Share this post


Link to post
Share on other sites
This topic seems to have turned into an OpenGL vs DirectX arugment...quietly, but it''s there.

My 2cents: If you have time and you''re good enough, go ahead, use both. But otherwise spend your development time on something else.

Share this post


Link to post
Share on other sites
quote:
Original post by Poya
Recently there was a article on gamedev which explained how to iscolate your graphics API specific code in DLLs, and so be able to use mulitple Graphic APIs. This is so awsome. At the moment I''m writing an engine which uses both OpenGL and Direct3D (you can switch to either one).

Hope that helps


Cooooooooooool

Can you tell me where to find that topic exactly? :D

Share this post


Link to post
Share on other sites
quote:
Original post by Subotron
[quote]Original post by Poya
Recently there was a article on gamedev which explained how to iscolate your graphics API specific code in DLLs, and so be able to use mulitple Graphic APIs. This is so awsome. At the moment I''m writing an engine which uses both OpenGL and Direct3D (you can switch to either one).

Hope that helps


Cooooooooooool

Can you tell me where to find that topic exactly? :D

http://www.gamedev.net/reference/programming/features/rendererdll/

Share this post


Link to post
Share on other sites
you know what i think the problem is with most people on this board........it is jealousy.
Everyone always bashes MS for everything they do. They make crappy this, they make shitty that. You know it is damn true that they would do the exact same things MS does if given the opportunity.
Business is about MONEY, you dont make money, you dont have a business. So you damn right that if I owned MS I would be looking every which way to make money that I could, especially with the technology market in a mess as it is right now.

You dont like their stuff then dont use it. I dont want to ever here you complain about how windows crashes every 5 mins, switch to a different OS, make a game for a different OS. Why wont you do that ? Because if you make a game for a different OS then you wont be able to sell it to the vast majority of people (say 85% or better) who use windows, which means less MONEY for you. So you see, even though you dont like MS, it really comes down to the money.

Money is what makes the world go round. Well that and sex.


"I pity the fool, thug, or soul who tries to take over the world, then goes home crying to his momma."
- Mr. T

Share this post


Link to post
Share on other sites
quote:

Games like those don''t even support direct3d. Here is a somewhat complete list of recent games out that use OpenGL.
http://www.opengl.org/users/apps_hardware/applications/games.html



I looked at that list, and I''m a little confused by it. I''ll dig into it more when I''m not so tired, but some of the games listed have no OpenGL support whatsoever. One example: DiabloII is listed as using OpenGL. Following the link to the D2 homepage, you see that it has a software renderer, and will support 3Dfx and Direct3D. No mention of OpenGL at all. There are quite a few on there that I know support both (Unreal Tournament for one). And there are quite a few shareware / freeware games listed, which dillutes the list somewhat.

Apart from companies using an id engine, what other commercial games are pushing OpenGL?

Take care,
Bill

Share this post


Link to post
Share on other sites

This topic is 5833 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.

Guest
This topic is now closed to further replies.

  • Advertisement