Jump to content
  • Advertisement
Sign in to follow this  
Toadhead

DX or OGL?

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

Alright, I know there has been tooooo many discussions about this, directX or OpenGL. However I'd like to know one thing, Since I don't want to write complete 3D engines myself, I'd like to use others, so make modifications to it (just mods for commercial games). But do I need to know DirectX for that? (ow and btw, is openGL always crossplatform or only parts of the lib??) Just want to know it for sure :)

Share this post


Link to post
Share on other sites
Advertisement
Depends on the engine. Good engines provide a high level of abstraction and will never use API specific types and functions in their public interfaces.
Some knowlegde of either API (BTW it's Direct3D, not just DX! DX refers to a whole set of APIs for sound, input, graphics and networking) won't hurt either for an in depth understanding of the inner workings.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
If you are interested just the slightest in cross-platform compatibility OpenGL is the only way to go. OpenGL is supported on most platforms.

Share this post


Link to post
Share on other sites
OpenGL is multi-platform. DirectX instead is support only by Win32 systems. If you want to make multi-platform games you should go to OpenGL. If you use a high level 3D engine you don't have to know DirectX.

Share this post


Link to post
Share on other sites
Quote:
Original post by Toadhead
...(just mods for commercial games)...


I don't think you'd need to know much of a specific API (beyond the API that the game engine provides) to write mods.

Share this post


Link to post
Share on other sites
Play around with each. learn to make a rotating cube in each API, and then choose which one you like more. This issue is pretty much a flame war, so its hard to give good advice. Also, you might want to play around with SDL.

Share this post


Link to post
Share on other sites
I'm already learning SDL, but thats just a bit for fun and to improve my C++ knowledge.
As soon as I'm REALY good in C++ and know most things about SDL I will OR learn a networking lib or learn OpenGL or DirectX.

when I learn DirectX I will start with learning the move simple API's like DirectDraw or DirectInput or something. Direct3D aounds pretty hard :(

Share this post


Link to post
Share on other sites
Quote:
Original post by Toadhead
I'm already learning SDL, but thats just a bit for fun and to improve my C++ knowledge.
As soon as I'm REALY good in C++ and know most things about SDL I will OR learn a networking lib or learn OpenGL or DirectX.

when I learn DirectX I will start with learning the move simple API's like DirectDraw or DirectInput or something. Direct3D aounds pretty hard :(


DirectDraw is a waste of time, believe me. DirectDraw is even harder then Direct3D in a way. Direct3D has very simple classes and DirectDraw is just a mess, it's old, it's not used anymore. 2D in Direct3D is a very good start.

Share this post


Link to post
Share on other sites
You don't need to know gl or d3d/dx when working with a good engine. It abstracts all that away from you so you end up with engine api calls. If you like to extend the engine then you need to learn one or both apis. I think opengl is less of the two evils. Neither apis are perfect only measured by which causes you to pull out less hairs. Under d3d I nearly went bold despite liking some things in that api. There was some hair pulling in gl as well but much less because it's a bit better enginnered in majority of cases except few miserable api cases in which d3d does it better. I actually think that asm shader api saved d3d8/9 from being a horrible api. Still, d3d is suited for engine work more so than gui apps that need to use a 3d view. Gl does both engine/guis well and is less of a system api like d3d is and more of a 3d api where you only care about what you can do with 3d than how to drive the os unless you count vertex buffers and then under one condition that you have to deal with the same stuff as d3d does, but it's rare.

Share this post


Link to post
Share on other sites
OpenGL is marginally easier to learn with than DirectX. DirectX is more 'whole' - you don't need to look for extensions to do cutting edge tech, either it's there or it's not. OpenGL is more procedural, DirectX is more object-based (but not so much you couldn't program it in C). OpenGL is more generally used for computer graphics, DirectX tends to focus on games & entertainment (XBox uses DX 8, many PC games are in DX).

They're both extremely good, advanced, industry standard computer graphics API's. To learn with OpenGL is probably better. I highly recommend eventually learning both though :) Even for Modding, learning bits and pieces will help your overall understanding of what's going on.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!