Classical Question
What''s the actual difference between DirectX and OpenGL?
Do they have the same abilities?
Thanx in advance..
DirectX comes with the ability to program graphics, sound, network, input, video / media. OpenGL is strictly graphics.
"The difference? Direct3D is better! "
Uhm.. there shouldn''t be any differences in feutures, but the code looks hell different.
.lick
Uhm.. there shouldn''t be any differences in feutures, but the code looks hell different.
.lick
I''ll say right off the top that I have never used OpenGL, but this is what I gather...
DirectX seems better at keeping current. New versions of DX come out fairly often to coincide with new hardware features.
In DirectX, you can tell what features are available with a capabilities check. After that, coding for each card is identical.
OpenGL usually ends up with several vender specific extensions to support the new features. After some time, these may become ARB extensions which are a vender-neutral way of exposing the same functionality.
Since the OGL extensions are specific for a card (or series of cards), they tend to do whatever they do quickly and efficiently. However, since it''s a vender extension you have to ensure you support all the extensions from all the card manufacturers that your target market might have.
Despite the fact that is sounds like more work, I know a few people who like simplicity and swear by OpenGL.
Also, OpenGL is cross platform, while DirectX is Windows and XBox only.
So, decide who your target is (Linux people? Mac people? PC people only?). If you''ve chosen PC only, you''ve got a choice of DirectX or OpenGL. Both can do the same thing, but OpenGL might be more work because of extensions, though apparently gets faster results (in terms of FPS, not necessarily dev. time).
DirectX seems better at keeping current. New versions of DX come out fairly often to coincide with new hardware features.
In DirectX, you can tell what features are available with a capabilities check. After that, coding for each card is identical.
OpenGL usually ends up with several vender specific extensions to support the new features. After some time, these may become ARB extensions which are a vender-neutral way of exposing the same functionality.
Since the OGL extensions are specific for a card (or series of cards), they tend to do whatever they do quickly and efficiently. However, since it''s a vender extension you have to ensure you support all the extensions from all the card manufacturers that your target market might have.
Despite the fact that is sounds like more work, I know a few people who like simplicity and swear by OpenGL.
Also, OpenGL is cross platform, while DirectX is Windows and XBox only.
So, decide who your target is (Linux people? Mac people? PC people only?). If you''ve chosen PC only, you''ve got a choice of DirectX or OpenGL. Both can do the same thing, but OpenGL might be more work because of extensions, though apparently gets faster results (in terms of FPS, not necessarily dev. time).
So the only difference is that OpenGL may be faster if you use the extensions. And the that OpenGL is cross platform API?
This may be a sweeping generalisation but I find that people who started programming in C are often more comfortable with OpenGL, while those who started with C++ favour DirectX.
I would recommend trying both and deciding which you feel is suited to your coding style.
I would recommend trying both and deciding which you feel is suited to your coding style.
quote:Original post by MrP
This may be a sweeping generalisation but I find that people who started programming in C are often more comfortable with OpenGL, while those who started with C++ favour DirectX.
I would recommend trying both and deciding which you feel is suited to your coding style.
I have noticed this too.
DirectX is, after all, class-based, while OGL is procedural, as is c.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement