Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Confused(Opengl or DirectX)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
44 replies to this topic

#1 Buzz82   Members   -  Reputation: 122

Like
Likes
Like

Posted 08 January 2002 - 06:00 AM

i have decided to start games programming .I have 1 year experience of C and have programmed simple games like paranoid and nibbles and a drawing utility similar to MS paint and now a days i am learning C++, but i am a little confused over the choice of an API.I don''t know which one is better opengl or directx.I started to learn opengl 1 month ago but now i am stuck because many said that as far as programming games for windows is concerned u should use directx and some said that there is no harm in using opengl as it is compatible to many platforms and is as good as directx for windows game programming.Please help me as i am really very confused about this matter.Please also give me a rough idea on the percentage of commercial games made in opengl and directx. Reply me keeping in mind that i am a newbee.Also give reasons for your suggestions.I''ll be grateful

Sponsor:

#2 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 08 January 2002 - 06:11 AM

Quake3 Engine uses OpenGL... Quake3 Arena, Giants, Max Payne.. and a bunch of others use it. Unreal Tournament uses Direct3D (and has an OpenGL plugin too). It really comes down to user preference, and has nothing to do with one API being "better" than the other. OpenGL is cross-platform though... Dx isn''t.

Billy

#3 jdawg2   Members   -  Reputation: 122

Like
Likes
Like

Posted 08 January 2002 - 04:47 PM

IMVMABO, (very much a beginner )

It seems that since DirectX encompasses more than just graphics, learning direct3D may come easier if it's being learned along with the other directx components since it may "tie together" easier and you may get used to the directx programming mindset. Or something like that. (at least, I hope that's what happens with me, hehe)

When dealing with them one on one with just graphics, I have no idea. I seem to hear that both have there benefits/drawbacks and nowadays, there's not a huge difference (although apparently when GLQuake first came out, there was a big difference between OpenGL and Direct3D, probably because OpenGL is simply older and more optimized)

Oh yeah, and Max Payne uses Direct3D doesn't it?

Edited by - jdawg2 on January 8, 2002 11:48:08 PM

#4 myca   Members   -  Reputation: 122

Like
Likes
Like

Posted 08 January 2002 - 05:35 PM

Perhaps this is pushing my privileges as a moderator, but either way I'm adding a disclaimer to Myca's message: No.
- SeanHowe


OpenGL vs. Direct3D??? no comparison..just take a look at Serious Sam ..the water and skies in that game are simply amazing including everything else..then i take a look at games that use D3D (everquest, DAOC etc.) and i get so disappointed on WHY developers choose D3D over OpenGL when they make a game..does microsoft give them some sort of cash incentive to use their API?

OpenGL - fantastic graphics, not OS dependent, and easy to program for and very stable.

Direct3D - Terrible graphics compared to OpenGL games, must be used with windows only, annoying to program compared to OpenGL and very buggy.

If D3D is so great how come id software continues to use OpenGL?
all the best games especially FPS(Halflife,Serious Sam, Quake series etc.)use OpenGL..they know what they are doing..wonder what john carmack would say if someone suggested he switched API's haha

I use VC++6 to program but i refuse to use Microsofts D3D API cause of its lack of OS support and it's much lower quality graphics.

What i don't get is with every new version of D3D that comes out they have something new like "Quad-Buffering-bumpmapping duplex-photorealistic imagery-with-a-side-of-bacon...but when a game comes out that uses that so-called new graphic enhancement it STILL doesnt come close to OpenGL's look or stability.

Well i for one choose OpenGL, games that have used it in the past have always impressed me and will continue to impress me with Return to Castle Wolfenstein and the upcoming Doom 3.
I would want to create a game that everyone running any OS could enjoy and not force them to install windows just so they can play it..because not EVERYONE that wants to play those great games use windows.

Btw great site










Edited by - myca on January 8, 2002 12:37:17 AM

Edited by - SeanHowe on January 9, 2002 1:56:17 AM

Edited by - SeanHowe on January 9, 2002 1:56:47 AM

#5 eldee   Members   -  Reputation: 122

Like
Likes
Like

Posted 08 January 2002 - 05:40 PM

i seriously think there should be an OpenGL vs DirectX forum on this site...
with the number of posts i''ve seen fighting over this crap, you could fill a forum up.
see, just wait until a DX advocate finds this thread..
it''s all downhill from there.

-eldee
;another space monkey;

#6 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 08 January 2002 - 05:54 PM

quote:
Original post by myca
OpenGL vs. Direct3D??? no comparison..just take a look at Serious Sam ..the water and skies in that game are simply amazing including everything else..then i take a look at games that use D3D (everquest, DAOC etc.) and i get so disappointed on WHY developers choose D3D over OpenGL when they make a game..does microsoft give them some sort of cash incentive to use their API?



You''re asking for trouble, I think.

Because Everquest, Dark Age of Camelot etc don''t make use of all the features of DirectGraphics does not mean the API is bad.

quote:

OpenGL - fantastic graphics, not OS dependent, and easy to program for and very stable.

Direct3D - Terrible graphics compared to OpenGL games, must be used with windows only, annoying to program compared to OpenGL and very buggy.



The quality of graphics is so hardware dependent than it''s totally irrelevent. Doom 3 would look ugly on a Trident with 512k of VRAM. Don''t blame the API for that.

As for the ease of use, I agree. Even thought DirectGraphics (D3D8) is now easier to program with, I still find it annoying and more difficult than OGL.

quote:

If D3D is so great how come id software continues to use OpenGL?
all the best games especially FPS(Halflife,Serious Sam, Quake series etc.)use OpenGL..they know what they are doing..wonder what john carmack would say if someone suggested he switched API''s haha



Unreal, Vampire: the masquerade, Black and White, etc. all use DirectX (though Unreal can do OGL too). Half-Life uses a Q2 engine and so obviously uses its OGL renderer. They bought a Q2 license because the engine was the most advanced one back then. It''s really a matter of architecture and power. I don''t think they''d have minded if it had been done with D3D, given than the underlying API is totally opaque to them. I have no idea about Serious Sam.

quote:

I use VC++6 to program but i refuse to use Microsofts D3D API cause of its lack of OS support and it''s much lower quality graphics.



See above.

quote:

What i don''t get is with every new version of D3D that comes out they have something new like "Quad-Buffering-bumpmapping duplex-photorealistic imagery-with-a-side-of-bacon...but when a game comes out that uses that so-called new graphic enhancement it STILL doesnt come close to OpenGL''s look or stability.



Again, it''s hardware dependent, and it also depends on what the developers want to implement. If they don''t use the new shaders, you obviously won''t see them in game.

quote:

Well i for one choose OpenGL, games that have used it in the past have always impressed me and will continue to impress me with Return to Castle Wolfenstein and the upcoming Doom 3.
I would want to create a game that everyone running any OS could enjoy and not force them to install windows just so they can play it..because not EVERYONE that wants to play those great games use windows.



Good luck to develop cross-platform software with MSVC.

Before I get flamed, know than I use OpenGL and write cross-platform software (I develop on Linux, FWIW). I find it cleaner, easier and just nicer than D3D (and D3D wouldn''t be an option for me anyway) and well.. I just love it. It is also better documented. I just dislike it when someone bashes a language/API/OS/whatever without any valid reason.




#7 hpox   Members   -  Reputation: 122

Like
Likes
Like

Posted 08 January 2002 - 06:50 PM

^
True! But you wasted way too much time on an obvious troll (come on, he was comparing 2 APIs performance based on the difference between 2 games that are 3 years apart and one is an Engine Demo (Must showoff the cool gfx features) while the other is a MUD (Graphics arent even necessary).

#8 terminate   Members   -  Reputation: 259

Like
Likes
Like

Posted 08 January 2002 - 07:24 PM

It really comes down to which one you like to use. At this point in time neither really has any better quality/speed.

NeHe for OpenGL
NeXe for D3D

--------------------------

Those who dance are considered insane by those who cannot hear the music.

#9 myca   Members   -  Reputation: 122

Like
Likes
Like

Posted 08 January 2002 - 07:50 PM

You say its hardware dependent? true and the hardware i was referring to was a riva TNT ..not even one of the newer more powerful cards..the first TNT..and a Trident with 512k of VRAM??
can you even buy those cards anymore? and if so WHY would you??
You wouldnt even be able to run the game in software mode with that horrible card.

"If they don't use the new shaders, you obviously won't see them in game."

-but when a game comes out that ->USES<-(keyword there)that so-called new graphic enhancement it STILL doesnt come close to OpenGL's look or stability.
i said it was implemented.


"I find it cleaner, easier and just nicer than D3D (and D3D wouldn't be an option for me anyway) and well.. I just love it. It is also better documented."

You just proved my point that OpenGL is a much better API
and i wasnt "bashing" a language/OS only the API..now i will..why program D3D under an already unstable OS(WIN95/98 etc) when you could use NT/XP etc. or linux(according to my friend that says its a very stable OS)?

Cross-Platform development is what i think is important not OS dependent. Why try and defend an API when you don't and can't even use it on your machine and say "I find it cleaner, easier and just nicer than D3D"?
i've programmed many times with both API's and OpenGL is just the best one.

" I just dislike it when someone bashes a language/API/OS/whatever without any valid reason."

If you actually took the time to read my first post you would know that i did give a valid reason why i was bashing D3D..its ONLY for windows..a game programming API that is OS dependent IS a valid reason to bash it.

"I still find it annoying and more difficult than OGL."

uh yeah i just mentioned that in my first post..don't you clarify that as bashing D3D yourself?

and one last thing..

"Because Everquest, Dark Age of Camelot etc don't make use of all the features of DirectGraphics does not mean the API is bad."

Tell me a D3D game that you've played that has water and sky effects that are even equal to serious sams ..if you havent played serious sam yet i suggest you play the game with a REAL GL card and not a Trident LOL then you'll see for yourself how much more potential OpenGL has over D3D.


Goodnight everyone

P.S. The field of view serious sam has is also amazing...D3D has to hide long levels or zones(eq) with the same lame fog effect and just draw the graphics as the player gets closer.
every d3d game ive played that had terrain always hid the far off areas of the level..and no that's not intended..D3D is not capable of displaying HUGE terrains without having to hide it with fog effects then drawing the graphics into view as needed.



Edited by - myca on January 9, 2002 2:59:59 AM

#10 hpox   Members   -  Reputation: 122

Like
Likes
Like

Posted 08 January 2002 - 08:37 PM

^ for baby jesus's sake! no, NO!

You just don't get it. IMO you are right saying OpenGL is better, but not for the good reasons! Your reasons doesnt make any sense!

quote:
P.S. The field of view serious sam has is also amazing...D3D has to hide long levels or zones(eq) with the same lame fog effect and just draw the graphics as the player gets closer.
every d3d game ive played that had terrain always hid the far off areas of the level..and no that's not intended..D3D is not capable of displaying HUGE terrains without having to hide it with fog effects then drawing the graphics into view as needed.



Please allow me: WTF!???
You're playing dated D3D games because performance-wise OpenGL and D3D are pretty much equal. Everquest NEED zones because it's an old game and an MMORPG can't be handled the same as a FPS. You cannot compare it with an ENGINE DEMO which is supposed to show the special effects and the latest whiz-bang of the engine so they can license it.

Ah, nevermind but please just give me of what you are smoking so I can live in your fantasy world. It looks fun

Edited by - hpox on January 9, 2002 3:38:38 AM

#11 snorga   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 04:16 AM

Just for the record:
in the serious sam 2 demo you can switch between D3D and OpenGL, and they look just the same (same nice gfx).


#12 CrazedGenius   Members   -  Reputation: 156

Like
Likes
Like

Posted 09 January 2002 - 04:31 AM

comparing the look of the graphics is an exercise in ignorance. Both APIs are access points to the abilities of the card. Therefore, both APIs provide equivalently the same quality of service modulo driver issues and very, very specific features. If a game company codes towards one API more poorly than the other this has nothing to do with the API. Many of the responses here are silly an uninformed.

Feature set - for a beginner they are exactly the same. There are feature differences, but it will be awhile before you see them.

Ease of use/learning. I would say OpenGL, but DX8 comes a close second. My advice is to learn whichever "feels" better to you. Switching is very easy once you know the basics.

Hardware support - Direct3D wins in terms of consistency, but OpenGL is pretty good.

Multiplatform - Do you develop for multiple platforms? Are you ever going to run anything on another platform? If the answer is no then the point is moot. If you are a linux programmer, then there''s no argument and I''m assuming you''d never ask the question. If you are a windows programmer who thinks that one day you *might* want to use linux, you could still use DirectX and switch once you need to. Switching is easy.

Bottom line, look at both and see which one feels better.

#13 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 09 January 2002 - 04:39 AM

The fact that D3D doesn''t work with NT, and OpenGL does.. should tell you a little something about which is more Stable :o) (professional rendering software typically uses OpenGL). OpenGL is on version 1.1 I beleive.. DirectX is on version.. 8.1a.. should also tell you something about stability, and how many tries they needed to even come close to being as good as OpenGL is. With D3D you have to wait for the new version to support "new" features.. OpenGL just has extensions you use, makes it simpler to work on things without waiting for a new (buggy) beta version.

OpenGL - Simple to setup and program with
D3D - Used to be hard, but is getting simpler... but still not as easy

Graphics quality of the 2 API''s IS IDENTICAL as this is based on Hardware Limitations... either one gives you access, it''s just whether the developer uses it (correctly). I prefer OpenGL simply because it''s simple for me to write programs and get the most out of. D3D is more difficult to achieve the same results (although, the same results *can* be gotten).

Billy

#14 granat   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 05:43 AM

Who cares about NT ????

#15 Cyberdrek   Members   -  Reputation: 100

Like
Likes
Like

Posted 09 January 2002 - 05:56 AM

quote:
Original post by Buzz82
i have decided to start games programming .I have 1 year experience of C and have programmed simple games like paranoid and nibbles and a drawing utility similar to MS paint and now a days i am learning C++, but i am a little confused over the choice of an API.I don''t know which one is better opengl or directx.I started to learn opengl 1 month ago but now i am stuck because many said that as far as programming games for windows is concerned u should use directx and some said that there is no harm in using opengl as it is compatible to many platforms and is as good as directx for windows game programming.Please help me as i am really very confused about this matter.Please also give me a rough idea on the percentage of commercial games made in opengl and directx.
Reply me keeping in mind that i am a newbee.Also give reasons for your suggestions.I''ll be grateful




First thing to do is search the forum for DX vs OGL threads, you will find a great deal of them and they all answer in the same way...

Try both and take the one you prefer.



"And that''s the bottom line cause I said so!"

Cyberdrek

Resist Windows XP''s Invasive Production Activation Technology!

"gitty up" -- Kramer
/(bb|[^b]{2})/ that is the Question -- ThinkGeek.com
Hash Bang Slash bin Slash Bash -- #!/bin/bash

#16 Impossible   Members   -  Reputation: 134

Like
Likes
Like

Posted 09 January 2002 - 06:12 AM

The API you''re using has no effect whatsoever on the quality of graphics your game will output (maybe if you''re using software rendering, but...) The quality of your graphics code and art, as well as the features and abilities of the graphics card your program is running on make all the difference.

#17 max621   Members   -  Reputation: 133

Like
Likes
Like

Posted 09 January 2002 - 06:23 AM

quote:

P.S. The field of view serious sam has is also amazing...D3D has to hide long levels or zones(eq) with the same lame fog effect and just draw the graphics as the player gets closer.
every d3d game ive played that had terrain always hid the far off areas of the level..and no that''s not intended..D3D is not capable of displaying HUGE terrains without having to hide it with fog effects then drawing the graphics into view as needed.



Most games use fog to hide distance. I''ve played Serious Sam (the demo) and thats more indoor / small outdoor areas. Everquest has landscapes (I''ve never played EQ tho, just speculation) and because the should be big, fogging is used so older video cards don''t crawl.

Tribes2 uses both OpenGL and Direct3D but you can argue that T2 sucks ( I won''t, awesome game). Anyways the programmers added huge amounts of fog to most maps making it like flying in peasoup fog in a patch so people got more FPS (this is what you get from people with old video cards ignoring the minimum sys requirments). I must say Tribes2 looks pretty damn nice but the developers said that their OpenGL renderer is better then the Direct3D but that seems to be just from their coding/testing experience. Tribes1 I believe only had OpenGL and software rendering (my jaw dropped when I saw Tribes1 in OGL for the first time compared to software)

Hmm looks like I''m rambling and trolling, sry


#18 Dave Astle   Senior Staff   -  Reputation: 2307

Like
Likes
Like

Posted 09 January 2002 - 06:47 AM

quote:
Original post by Anonymous Poster
The fact that D3D doesn't work with NT
Who's developing games for NT?
quote:
Original post by Anonymous Poster
should tell you a little something about which is more Stable :o)
"A little" as in "absolutely nothing"?
quote:
Original post by Anonymous Poster
(professional rendering software typically uses OpenGL).
True, but that's because graphics workstations typically don't use a Windows OS, and if they did, traditionally they used NT - not sure if they're using 2000 these days. The point is if I'm developing professional rendering software, I know that most of my users have machines that don't support DirectX, so the decision to use OpenGL has nothing to do with whether or not it's more stable than Direct3D.
quote:
Original post by Anonymous Poster
OpenGL is on version 1.1 I beleive..
1.3, actually.
quote:
Original post by Anonymous Poster
With D3D you have to wait for the new version to support "new" features.. OpenGL just has extensions you use, makes it simpler to work on things without waiting for a new (buggy) beta version.

Two different paradigms, neither of which is inherently superior to the other. Microsoft's approach to a rapidly changing hardware market is to release new versions of their API every year. Although this may mean that you have to wait a while to take advantage of the latest advances, at least when the release comes you'll have a (mostly) standard interface to the hardware. (Also note that the effect of this "lag" is somewhat diminished by the fact that MS works closely with hardware vendors to keep pace with them, and that most developers will delay coding for new hardware features until consumer adoption of the hardware is widespread). OpenGL's approach is to only update the API when there have been major advances to hardware in general, and in the meantime allowing developers to access new advances through extensions, which, because they take a while to standardize (look at the situation with shaders), can lead to some messy special case code. Each paradigm has its pros and cons, so there's no clear winner - it's up to the individual to determine which they like better.


Dave "Myopic Rhino" Astle
Executive Producer and COO, GameDev.net
Game Programmer, Avalanche Software
Author, OpenGL Game Programming

"Withdrawal in disgust is not the same as apathy"


#19 myca   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 06:48 AM

please read the anonymous post that was signed by billy.
More facts that i agree with and prove my point.

I just have one last question cause this topic has become so boring..

Games like halflife, return to castle.. etc use OpenGL and Directsound,directinput etc. why use 2 different APIs for the same game? obviously OpenGL doesnt have dsound or input hence the name OpenGL = Open Graphics Library.

So if Directx is so much better than OpenGL why dont they just use it for the entire game and not just use GL for graphics and Directx for the sound and input?? if d3d IS the much better API it makes no sense why they use it ONLY for the sound/input etc and not for the graphics portion also.

Again i say..tell that to id software ..why bother programming for an API that you can't make games for linux or any other nonwindows OS? choices become limited.

They use Opengl so it can run on NT/XP/2K/95/98/ME/Linux etc and not have to worry about sticking to ONE OS..and also for Alpha which only linux and nt/xp/2k run on...Why? cause it will make them MORE MONEY..cause NOT EVERYONE RUNS WINDOWS.

But if all of you that are arguing would rather just stick to one api for ONE type of OS only i bet you're the same people that put down microsoft but at the same time you are following their proprietary API like a little monkey.

Whoever is "unsure" about which api to use just look at all the facts..about 4 or more posts here have said that DX is annoying to program for and OpenGL is much easier...OpenGL can be run on any OS and not just x86 based computers..more options are available to you with OGL (for those of you that still don't get it)

So if you really want to make a game wouldnt you use the LESS annoying API to program for and only use DX for the input and sound? JUST like valve, id software etc. have done?


heh not gonna bother reading this section again...So how many of you think VB is a great language to make games with?? hahahaha

BTW NT/XP/2K are all the same OS just in case some of you are morons and don't know and actually think 2k and xp was programmed using win95/98/ME code. So programming opengl under any of those 3 you will know you will get the same stable OS and it will work under all 3...that was a response to the person that said "whos programming for nt??"-everyone that uses xp/2k to make games using opengl or D3D and other types of programs..thats who. Their d3d games wont run on NT4 but will on NT5(Win2k) and NT5.1(XP) so its STILL programming for "NT"














Edited by - myca on January 9, 2002 2:08:33 PM

#20 Dave Astle   Senior Staff   -  Reputation: 2307

Like
Likes
Like

Posted 09 January 2002 - 07:03 AM

Since you keep using the fact that id uses OpenGL as the main support for your arguments, let's see what John Carmack has to say about the subject:

quote:
Original post by myca
They use Opengl so it can run on NT/XP/2K/95/98/ME/Linux etc and not have to worry about sticking to ONE OS..and also for Alpha which only linux and nt/xp/2k run on...Why? cause it will make them MORE MONEY..cause NOT EVERYONE RUNS WINDOWS.

quote:
John Carmack on slashdot
All linux games sales EVER don't add up to one medium selling windows title. We are one of the creditors that aren't likely to see money that Loki owes us, so we have some idea just how grim it is.

That isn't saying that it can't change in the future, or that doing linux ports isn't a Good Thing, but it isn't an economic motivator at the present time.

Also, for his thougths on the current state of OpenGL and Direct3D, read the following: http://slashdot.org/comments.pl?sid=20503&cid=2194363. He's basically saying the same thing that the sane replies to this thread have been saying, which pretty much blows the "id is using OpenGL, so it must be better" argument out of the water.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS