🔒 Locked
Classical Question
Advertisement
Original Post
DirectX comes with the ability to program graphics, sound, network, input, video / media. OpenGL is strictly graphics.
Open GL is also multi platform, DirectX is Microsoft operating systems only.
Sounds like a FAQ
"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).
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.
I have one more question.. If, for example, I wrote an implementation of something in Direct3D 8 and then when Direct3D 9 was realesed I will have to rewrtie the whole code to get the functionality of the 9th version?
Is it the same in OpenGL?
Is OpenGL updated more frequently than Direct3D?
For exmple the OpenGL extensions allow the OpenGL programmers to implement the new features more frequently than Direct3D's ones. Because the programmers use Direct3D have to wait to the new realese of Direct3D. Am I wrong?
Is there an extension mechanism in Direct3D 9?
[edited by - idinkin on August 9, 2003 6:07:25 AM]
Is it the same in OpenGL?
Is OpenGL updated more frequently than Direct3D?
For exmple the OpenGL extensions allow the OpenGL programmers to implement the new features more frequently than Direct3D's ones. Because the programmers use Direct3D have to wait to the new realese of Direct3D. Am I wrong?
Is there an extension mechanism in Direct3D 9?
[edited by - idinkin on August 9, 2003 6:07:25 AM]
[offtopic]
Pipo you two timer! You said in my post "I have finally seen the light" that you liked OpenGL, and now your saying DX is better?
[/offtopic]
[ontopic]
OpenGL is better if you want to write for playstation two or linux, but DX has ALOT more functionality. Microsoft has a way of creating a million complicated ways to do one thing.
[/ontopic]
______________________________
Quantum
CEO of Quantum Rebound Software
Website Up Soon
Pipo you two timer! You said in my post "I have finally seen the light" that you liked OpenGL, and now your saying DX is better?
[/offtopic]
[ontopic]
OpenGL is better if you want to write for playstation two or linux, but DX has ALOT more functionality. Microsoft has a way of creating a million complicated ways to do one thing.
[/ontopic]
______________________________
Quantum
CEO of Quantum Rebound Software
Website Up Soon
ahh, we get this question again.
Neither is better, both have identical functionality. pick one, and go with it!
Neither is better, both have identical functionality. pick one, and go with it!
In response to upgrading DX8 -> DX9....no, you don''t have to change your code for it to still work, because DirectX is backwards compatible. (at least that''s what I''ve gathered.) However, if you want to use new features (whatever those might be), you may have to modify a few lines, but you certainly don''t have to start all over again.
quote:
Original post by langguy
In response to upgrading DX8 -> DX9....no, you don''t have to change your code for it to still work, because DirectX is backwards compatible. (at least that''s what I''ve gathered.) However, if you want to use new features (whatever those might be), you may have to modify a few lines, but you certainly don''t have to start all over again.
Correct! even with the DX9b sdk, you can still compile and run dx6 apps!
quote:
Original post by idinkin
Thanx for your help guys!
In my opinion OpenGL rulz!
Thats right!!!!! Err... What forum is it?
"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement