Confused(Opengl or DirectX)

Started by
43 comments, last by Buzz82 22 years, 4 months ago
"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. "

HAHAHA that was a lame attempt..correct me if im wrong but i THINK he''s just saying that continuing to port to linux maybe a bad idea..cause maybe there are MORE windows users that play games than linux so obviously the sales on windows will be much better..that doesnt mean that id thinks opengl blows at all...just the sales on LINUX systems blows compared to windows systems...that was a really bad post you made lol

what does linux low sales have to do with how good OpenGL api is? nothing! what are you 12? sales dont drop on another OS cause the programmers think its hard to program for that API they drop cause of the LACK of software sales cause there are a hell of alot more windows users than linux users.

i wont be surprised if id stops porting their games to linux soon but its NOT cause of the API
Advertisement
The following is a post off of that site

I see this "If you code in DirectX, at least it will work on all cards" canard repeated so often, I can only marvel at Microsoft''s propaganda machine and the essential stupidity of mankind. Why do you think so many new DirectX games fail to work under a number of cards until they release patches?

As someone who''s coded in both (and Direct X for a game that must support a wide range of cards), an OpenGL program is far more likely to work on a given range of cards if you haven''t coded in explicit support for those cards. The equivalent DX program will require far more setup and test code.

People don''t seem to understand this about Direct X: It supplies a feature set, but different cards implement different parts of that feature set. You have to *explicitly test* almost any feature you can name to see if the card can support it, via "capability bits". Try getting hold of the DX caps viewer, and you''ll be able to see just how many of them there are.

The only thing DirectX has going for it, its so-called unified API, makes no difference at all in the end. You end up doing exactly what you''d do in OpenGL -- testing for certain cards, and using their exposed abilities if they exist. Writing a lot of fallback code. In the end, you''re better off going with the card manufacturer''s APIs, IMHO.

myca, you lost all credibility when you stated that OpenGL somehow has inherently "better looking" graphics than Direct3D.

You''re either trolling or you have no idea what you are talking about and are just bashing Microsoft because you think its the cool thing to do because all of your Linux buddies do it. In either case, you''re a spank. Go away.

OpenGL vs Direct3D is a personal choice (or a business choice, if you''re working for a company). Neither API is clearly ''better'' (though OpenGL is clearly more portable… as for how much that matters in today''s world, refer to John Carmack''s post, as quoted by Myopic Rhino), and certainly neither produces ''better graphics''.
quote:Original post by myca
that was a really bad post you made lol
Oh, the irony...

You''re the one who said that id uses OpenGL so that they can make more money by selling to people who don''t use Windows. The quote I included clearly says that their decision to use OpenGL has nothing to do with potential sales. If that isn''t clear enough, in the link I posted, Carmack also said the following "It has been pretty clearly demonstrated that the mac market is barely viable and the linux market is not viable for game developers to pursue. Linux ports will be done out of good will, not profit motives. From an economic standpoint, a developer is not making a bad call if they ignore the existence of all platforms but windows."

And I neither said nor implied that id thinks OpenGL "blows". Instead, I pointed you to a post by Carmack which shows that his opinion of Direct3D is not as low as you claim that it is.
IMHO, if a "programmer" cannot determine which programming API they want to use, or which language, etc., where in reality the only person that can make this decision is the "programmer" themselves then they are not going to get very far. geez, if i was ten i could figure out which API i would want to use. i don''t understand why people get into programming if they can''t handle it. TRY ANOTHER PROFESSION, PLEASE (maybe a cashier would be much better, so you don''t have to make soooo many choices on your own). oh well, anyone asking this retarded type of question will never become a "leet" programmer and will be stuck at some lame company doing database frontends in VB because they couldn''t decide which school they should goto on there own. LOL. sorry for the harshness, but it''s the truth, and you know it.

To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
I hope id DOESNT stop porting the games. The only people truly making games for linux seem to be the small independant developers and the games are mostly freeware and opensource. Also look at the rest of linux, its mostly freeware (w/ opensource license)...

Now to answer Buzz''s questions:
I''d like to know who those people are who told you that you should use DX in windows. You can use anything you want!
DirectX is composed of multiple DLLs for direct3d, directsound, directinput, etc.
Its the same deal with OpenGL, you just use whatever DLL you want for input, sound, networking, etc.

DirectX is nice because it has everything together (sound, input, networking [some say DirectPlay sucks], 3d, whatever) and some pick it up quickly.

I prefer OpenGL because it is easier to use (this is an opinion), is multiplatform, and can do whatever DirectX does (look at all the games out there, they use DirectX and OpenGL around the same amount).

Most computers (windows) now a days have DirectX installed on them, but they also have OpenGL. The new graphics cards (ATI and NVIDIA) both have OpenGL and DirectX support.

I think myca should stop flaming and give some good reasons to use OpenGL instead of DirectX besides that "more" games use it and iD uses it. Don''t forget we are here to give Buzz cons and pros of both APIs.

myca: Remember that DirectX is a complete API for games, while OpenGL is just a rendering API. Some call this comparing apples and oranges.
||--------------------------||Black Hole Productionshttp://bhp.nydus.netResident expert on stuffmax621@barrysworld.com||--------------------------||
quote:Original post by myca
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.


Well I never played Serious Sams but I bet it''s not up Halo''s class (the computer version, not the X-Box''s) and while I''m not 100% on that it''s done with D3D I''d be very suprised if it''s not (considering that it''s one of MS''s flagships).
"Well, if we were using Direct3D immediate mode, we'd have to resort to such hacks. Fortunately, OpenGL is more powerful than Direct3D." hmm that came off of a tutorial from THIS site.

Why do companies use OpenGL and DX in the same game but use GL for the graphics and use DX only for the sound/input?? still no answer



Edited by - myca on January 9, 2002 4:52:52 PM
I agree with what you are saying max621..i first started out saying how much easier it was to program for OpenGL and obviously got sidetracked ..especially when every GL game ive played had graphics better than any D3D game so if they are the same what are all the D3D hardcore programmers waiting for?..my whole point this entire time from my starting post was that opengl is easier to program for and provides more choices when it comes to cross platform development..if there''s anyone here who has only programmed using DX and havent even tried opengl then they shouldnt even begin to argue..cause i''ve used both and OGL is the better one i feel and according to alot of other posts i''ve read...again if noone here have programmed both then don''t claim D3D is much better if you havent even tried gl...(generally speaking)

My main reasons for thinking opengl was a better api wasn''t only cause id uses it etc. i just meant that i could see why they would cause of the many choices a game programmer has.
I''m just not the type of person that likes to be forced to use an api on a specific OS just cause the developer of the API (microsoft) wants it proprietary and have to wait constantly for patches or new versions to do what i want to do.

That post that i copied and pasted from that other site that persons comments were all true...d3d is a bitch to program for and you HAVE to test it alot.

But anyway noone has answered my question why developers use Opengl for the graphics and use dx only for the sound and input...hmmm figures that was ignored

"I prefer OpenGL because it is easier to use (this is an opinion), is multiplatform, and can do whatever DirectX does"

Yep that is what i was trying to say this whole time
so many posts here say "you shouldnt bash d3d myca ..you dont know what you''re talking about but i do like to use GL myself instead" well alot of posts that say the differences all seem to like opengl better ..so am i wrong? i think not

As for buzz82 i was trying to give him reasons which was better
if he''s just starting games programming wouldnt it be better to point him in the direction of the easier API to program for instead of him using DX and maybe getting discouraged cause it has so many problems and more annoying to program for?
once again..
Opengl - EASIER(<-- keyword) to program for , can do whatever dx can and you have the choice to make games on any OS you are more comfortable using.

Directx - HARDER AND MORE ANNOYING to program for , have to wait for patches or new versions if something is buggy (like there always is) and have to use windows.

Buzz82 you should try both for a bit and just see for yourself..cause if you just use one you won''t know if the other is actually easier or harder..and then maybe you will say the same thing i did after i first started with dx then switched to GL and said "thats it??" when i made 2 similiar displays and saw just how much easier it was done with GL.

ok ok im not responding anymore! im leaving this . Take care everyone

There''s a point I haven''t seen mentioned yet: what is the reason for Direct3D''s existance, when there was already a much more advanced API around(at that time, lots of money changes things)? Besides marketing, I can only think about history.

Some time ago, Microsoft released Windows 95. Before it, all attempts to program games resorted to WinG(oh my). But, since Microsoft wanted everyone to dump DOS, games should run, and run fast, on Windows. So they designed DirectX. At that time, it had DirectDraw(for drawing 2D graphics), DirectSound and DirectInput(not sure about DirectPlay). That was all that was necessary. Manufacturers then started to give support for this API.

Some time after, 3D graphics started to become more and more mainstream, as better hardware became available. Instead of using OpenGL, a very mature API, used in many platforms, including Silicon Graphics, they decided to try to grab that market and designed Direct3D. Crap.

However, since all manufacturers had already spent a lot of R&D to get DirectX to work right on their video cards, most of them decided not to bother implementing OpenGL and did Direct3D instead.

We had to wait until glQuake and the like to change that, along with 3Dfx(who also tried to put its own 3D proprietary API, Glide, in the market, and failed).

So, here we are today. A completely unnecessary API(Direct3D) has evolved and is on par with OpenGL. Meanwhile, OpenGL has proven itself to be *very* reliable, and on good cards I generally see fewer problems with it than with Direct3D. Not to mention the fact that the drivers have to support not only the newest DirectX versions, but some backwards compatibility is necessary.

As for me, I''ll continue to use OpenGL. I don''t think there''s need for Direct3D. But I have no complaints about the rest of DirectX, after all, no one has come with an acceptable hardware-independant sound API(or networking, for that matter).

Gaiomard Dragon
-===(UDIC)===-
Gaiomard Dragon-===(UDIC)===-

This topic is closed to new replies.

Advertisement