Jump to content
  • Advertisement

Archived

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

jtecin

OpenGL Direct3D as opposed to OpenGL

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

Okay, I don''t want to start an argument over which one is better, but I am starting to learn 3d graphics programming and I''m wondering which one I should really go with. Thus, I have a couple very general questions: 1)What are the main differences? 2)Which one is supported by more graphics cards? 3)Which is easier to use for simple 3d game? (sort of an oxymoron) 4)Which is easier to use for more advanced 3d game? 5)Which allows for the most freedom and functionality? 6)If you were to talk to the programmers on all the newest games, which API would that say they are using? I realize that some (all) of these questions might be hard to answer, but any help would be appreciated. Please don''t turn this into a battle between OpenGL and Direct3D because I''m sure each one is best in its own way. I originally had the title "Direct3D vs.OpenGL" but that would definately provoke a fight.

Share this post


Link to post
Share on other sites
Advertisement
Before I begin, I just want to remind everybody that these are my opinions, so no flames or anything, please.

1. There's a lot of differences, both are great APIs, but the ease of use generally is considered to go to OpenGL. Also, {censored}, and OpenGL is cross-platformable (horrible word choice), while Direct3d only works on Windows.

2. I'm not sure about that, but I think it's about even. All major cards support OpenGL and DirectX, so that's not really an issue.

3 & 4. {censored}

5. I can't really answer this, as I haven't tried the latest Direct3d or anything close...

6. Depends which game you ask. Unreal Tournament supports them both (I know it supports OGL, and I'm pretty sure about DX), Quake3 and all id's games support OpenGL, Ion Storm's games support OpenGL. This may seem like I'm picking favorites, but add to this list, please.

So, I suggest you try them both, and then decide which YOU like more--not what somebody tells you that you like.

(to you Frag_Daddy_: I only censored your response because some of what you said will if not controlled start a flame war - WitchLord)

Edited by - WitchLord on June 22, 2000 7:20:34 AM

Share this post


Link to post
Share on other sites
Read the older messages in the forum. This question has been asked a million times before and you are just ASKING for a flame war, once again.


Give me one more medicated peaceful moment..
~ (V)^|) |<é!t|-| ~

Share this post


Link to post
Share on other sites
I will not even bother to answer anything that has been said here or will be said. But I will say this:

Even professional game developers cannot agree on which API is the best, why do you think that we will be able to do so? id Software uses OpenGL, because of that everyone that use their engines also use OpenGL (Ion Storm). Epic Megagames is mainly focusing on D3D even though they also support OpenGL to get those few cards that have better OpenGL support. I believe the Lithtech engine, developed by a Monolith offspring, uses Direct3D. Dynamix uses OpenGL for Tribes 2.

My suggestion to you is to try them both and deside for yourself which one you like best. If you choose to try out Direct3D make sure you do it with the help of D3DX as it will give you a completely different experience than without. You can read my tutorials for some beginner Direct3D with D3DX samples. (Of course, I also have to give a link to NeHe''s OpenGL tutorials )

---

For everyone that wishes to respond to this thread, bear in mind that I''m watching it carefully so we can for once avoid a flame war and try to for once have an informative discussion about the two APIs. I know that this will probably not going to happen so if I smell just a whiff of smoke coming I will immediately close the thread.

I can think of one rule that may be able to keep the flames down: Keep your personal opinions to yourself, and if you see any personal opinions ignore them.

I will remove personal opinions as soon as I see them, starting with Frag_Daddy_''s.

- WitchLord

Share this post


Link to post
Share on other sites
I''ll try to answer your questions in the right order.
I agree with MadKeithV post.

1. Differences in the design.
Direct3D is based on COM and its interface change @ each release requiring that you change a lot of code to use the new version.
OpenGL is a state machine, and require less calls to do the same thing as in Direct3D.

2. I think every card has drivers for both.

3. I prefer OpenGL, and I think it''ll be easiest. Especially for initialisation. Try both for a simple game, it''s the best way to know which one you prefer.
[Of course for cross platform dev you''ll use OpenGL]

4. I think both are equal.

5. I tend to say OpenGL is more ''free'', but Direct3D have more features.
[Notice that OpenGL being used by professional for years it has many features and supports many ''new'' features, that are in fact quite old for the professionnal market, like T&L]
There is nothing you can do with Direct3D7 you can''t with OpenGL1.2, and the invert also is true.
[Direct3D features that do not have OpenGL can be seen as MACRO, so you can write them yourself using OpenGL hardware acceleration]

6. I ''know'' they are using Direct3D and/or OpenGL.

Hope it helps and nothing will be censored.


So many people died for freedom that I don''t like people restraining mine or anyone else freedom.
BUT I know it''s sometimes required for safety.

-* So many things to do, so few time to spend *-

Share this post


Link to post
Share on other sites
Just a thought- Why doesn't someone put this ine the FAQ, if it isn't already there. I've seen about a billion of these posts. And about a flame war, who cares? Let the little girls fight, just don't read the shit. I'll start a flame war right now, {censored}

Seriously, we should put something on this topic in the FAQ, if it isn't there (I'm too lazy to look through it right now).

-BacksideSnap-

(Although I know you weren't serious about your comment I censored it because it would spawn unneccesary comments from others - WitchLord)

Edited by - WitchLord on June 22, 2000 2:08:08 PM

Share this post


Link to post
Share on other sites
I have thought about it, I know how to do it, I just don't know how to formulate it But I will put it in there someday, I have a couple of other things I want to put there as well but I haven't had the time.

(oops, I lied earlier I did answer to something posted here)

- WitchLord

Edited by - WitchLord on June 22, 2000 6:31:51 PM

Share this post


Link to post
Share on other sites
A comments to add...

Direct3D does support some new functionality that has just recently been introduced on consumer level cards (GeForce). Namely, hardware acceleration of vertex blending (as Microsoft calls it) and per-pixel shading. I must admit I havn''t used OpenGL for a long time, so could anybody else inform me as to whether these are supported in that API?

Share this post


Link to post
Share on other sites
quote:
Original post by Shinkage

A comments to add...
Direct3D does support some new functionality that has just recently been introduced on consumer level cards (GeForce). Namely, hardware acceleration of vertex blending (as Microsoft calls it) and per-pixel shading. I must admit I havn''t used OpenGL for a long time, so could anybody else inform me as to whether these are supported in that API?



Yes, they''re supported. They were supported even before DX actually, because of OpenGL''s extension mechanism: any hardware manufacturer can implement OpenGL extensions to their cards, without any approval of any other company. So nVidia implemented it in their first drivers, while they had to wait for Micro$oft to let them implement it in DX8.

Nicodemus.

----
"When everything goes well, something will go wrong." - Murphy

Share this post


Link to post
Share on other sites
I feel that one important thing is usually left out in discussions such as this: The source code dealing with advanced 3D techniques, like that accompanying academic papers will most likely be in OpenGL, often favouring GLUT. Whilst this is not a reason to use OpenGL in your own projects it is a reason why it is advantageous to know how to use it.



-- Kazan - Fire Mountain Games --

Share this post


Link to post
Share on other sites

  • 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!