Archived

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

idinkin

Classical Question

Recommended Posts

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).

Share this post


Link to post
Share on other sites
MrP    565
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.

Share this post


Link to post
Share on other sites
Nik02    4348
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.

Share this post


Link to post
Share on other sites
idinkin    100
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]

Share this post


Link to post
Share on other sites
[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

Share this post


Link to post
Share on other sites
langguy    122
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.

Share this post


Link to post
Share on other sites
Raloth    379
I want the forum to delete any message that has a sentence ending with a question mark and has the phrase DirectX (well, at least Direct3D) and OpenGL in it . Either one can be used in place of the other if you know what you are doing.

Share this post


Link to post
Share on other sites
RhoneRanger    100
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!

Share this post


Link to post
Share on other sites
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!"

Share this post


Link to post
Share on other sites