Archived

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

DirectX v. OpenGL (please respond)

This topic is 5307 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 know, I know, this topic has been rehashed a thousand times over, but I just had one simple question. I''d try searching the forum, but I get WAAAY too many results to go through them all. In the real world game development industry is one (Direct3D or OpenGL) used more often than the other. Basicly, if I were to learn one API, which should it be? I''m not asking which is better, but which would a prospective employer rather me know when hiring (hopefully) me. Like if I know one will the other be then easier to learn, or is one used more often in the industry. Sorry, this question was meant to be a one or two liner, but it grew. Just Smile and Nod...

Share this post


Link to post
Share on other sites
quote:
Original post by ah_bk88
In the real world game development industry is one (Direct3D or OpenGL) used more often than the other.
Neither. Remember that "real world" game development also includes console platforms and handhelds (PDAs, cell phones, GBAs). DirectX is necessary on the XBox, but none of the other platforms provides a standard OpenGL implementation - though third-party vendors may.

quote:
Basicly, if I were to learn one API, which should it be?
Both. What''s so hard about learning both?

quote:
I''m not asking which is better, but which would a prospective employer rather me know when hiring (hopefully) me.
Both. Plus, if you''re asking about employment and which API to learn in the same post, you''ve got a long way to go...

Share this post


Link to post
Share on other sites
quote:
Original post by cowsarenotevil
It's about 50/50.
Upon what do you base that statement? Everything I've seen leads me to believe that Direct3D is used significantly more frequently than OpenGL on Windows-based platforms for game development (which is the only platform where the comparsion is even relevant.

Anyway, I think Oluseyi's advice on this is spot-on.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Yeah OpenGL and DX are both used so you''d be better off knowing both. DX is used for a lot of stuff like console and game programming for windows. OpenGL is not too different either so you would get better chances of getting a job if you knew them both. Why would you only want to learn one?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Id have to say it is about 50/50
most games support both
you can go in the options and choose opengl or direct3d

Share this post


Link to post
Share on other sites
I realize I''ve a way to go, I am just at a point now, where it is time to learn one or the other (even if I learn both, I must still learn one before the other). I have a strong grasp of C++ in Windows and the next step (in game programming) would be to learn a graphics API (someone correct me if I''m wrong, please). I''m just looking for the forum''s input as to which I''d be better off learning first. I''m leaning more toward Direct3D because of the rest of DirectX (DirectInput, DirectSound, etc). Or are there other, more popular alternatives to the rest of DirectX as well? Please, I''m just looking to take my next step in game programming and am looking for assistance as to where to put my foot.

Just Smile and Nod...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
this is the order i learned stuff in
c++, windows, directdraw, opengl, direct3d

i would have to say this
if you like working with classes then use direct3d
if you like working with functions then use opengl

Share this post


Link to post
Share on other sites
This question seems to be asked quite often. Perhaps the "For Beginners" section should have more on OpenGL and a link to some D3D vs. OGL page. Personally I prefer OpenGL because it''s cross-platform and it can be used in a variety of ways (including object-oriented) whereas D3D forces one to use COM objects.

Share this post


Link to post
Share on other sites
I''d say on PC DIrectX is used more often for games. However, one or the other makes no difference in the long term. They pretty much do the same, and performance-wise, it''s 50/50. Ask John Carmack. You''ll learn the same tricks using either one of those.

OpenGL has some nice features over DirectX. You can do immediate rendering (no need to setup vertex buffers and stuff), which is useful for small apps and prototyping, it''s got the matrix stacks, and it''s easier to use (GLUT would get you going in a matter of hours, and it''s straight C function calls). In the short term, OpenGL is dead easy for noobs. You can find OpenGL wrapper libraries for DirectX, which makes DirectX more manageable. If you know openGL, you''ll know directX (with a bit of work on the vertex and index buffers), and vice-versa.

Share this post


Link to post
Share on other sites
Oliii made the good point that when you''re starting out OpenGL is easier, but in larger games you''ll need to use all the extra complexity with either one. to my experiance Direct3D seems more popular with commercial games for windows nowadays, but OpenGL is the leader of most the other markets. And since DirctX belnogs to microsoft you''ll pretty much need OpenGL for any non-windows development. Due to this a lot of other libraries that like platform independence prefer OpenGL too (SDL, wxWindows...).

So bottom line:
Windows game devlopment:
Both about as useful, Direct3D more popular

Most anything else:
OpenGL.

Though I run Linux so I never learned too much about DirectX, this is jsut what I''ve read.

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi
Both. What''s so hard about learning both?
...
Both. Plus, if you''re asking about employment and which API to learn in the same post, you''ve got a long way to go...


Are you insane?! Do you have any idea of the amount of work that would entitle you to do?

Employeers don''t worry about which one you learned because if you know one, then you obviously have the ability to learn another API. And even if you were hired, they usually wouldn''t get you started straight into programming directly with the API.

______


To be honest, it''s all personal preference. I personally like the great OOP approach offered with DirectX.



Rob Loach
Current Project: Go Through Object-Oriented Programming in C++ by Robert Lafore

"Do or do not. There is no try."
- Yoda

Share this post


Link to post
Share on other sites
quote:
Original post by Rob Loach
quote:
Original post by Oluseyi
Both. What's so hard about learning both?
...
Both. Plus, if you're asking about employment and which API to learn in the same post, you've got a long way to go...
Are you insane?! Do you have any idea of the amount of work that would entitle you to do?

Employeers don't worry about which one you learned because if you know one, then you obviously have the ability to learn another API. And even if you were hired, they usually wouldn't get you started straight into programming directly with the API.

Aren't you contradicting yourself here? On the one hand, you say that the amount of work required to learn both is insane, and on the other hand, you say it would be easy to learn one once you knew the other, should an employer require you to.

Considering that most people asking this question have at least several years to go before they'll have a shot at a job, isn't that more than enough time to learn both? If it's not, then your second statement is wrong.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I learned both Direct3D and OpenGL on my own.
I''m not insane.
I feel comfortable using either.

Share this post


Link to post
Share on other sites