Jump to content

  • Log In with Google      Sign In   
  • Create Account

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

#21 myca   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 07:18 AM

"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


Sponsor:

#22 myca   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 07:25 AM

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.



#23 gmcbay   Members   -  Reputation: 130

Like
Likes
Like

Posted 09 January 2002 - 07:38 AM

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


#24 Dave Astle   Senior Staff   -  Reputation: 2307

Like
Likes
Like

Posted 09 January 2002 - 07:39 AM

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.

#25 jenova   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 07:39 AM

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.

#26 max621   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 07:42 AM

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.

#27 Spearhawk   Members   -  Reputation: 145

Like
Likes
Like

Posted 09 January 2002 - 07:57 AM

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


#28 myca   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 09:12 AM

"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

#29 myca   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 09:38 AM

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



#30 Outworlder   Members   -  Reputation: 100

Like
Likes
Like

Posted 09 January 2002 - 09:55 AM

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

#31 gmcbay   Members   -  Reputation: 130

Like
Likes
Like

Posted 09 January 2002 - 09:57 AM

I''ve done a significant amount of programming for both OpenGL and Direct3D, and I can''t agree with the people who say OpenGL is easier to program for. In the past (back in the DX3-days especially) that was completely 100% true, and the point couldn''t even really be argued by anyone. D3D used to be a mess that put way too much work on the shoulders of the programmer. Having to write 500 lines of code just to do a basic screen initalization is insane...

However, times change, and Direct3D has changed (a lot). Microsoft has made it a much better API, and also has created extremely useful helper APIs (like D3DX).

I supposed you could make a case that drawing simple triangles in OpenGL is easier than in D3D, but who does that anymore anyway? Everyone is using index buffers and vertex arrays, and they are no harder or easier to use in either API, just slightly different syntax.

In fact, I''d go out on a limb and say that as right now, D3D is *easier* to program for, when you view it in its entirety.

Consider this as one example: With D3D/D3DX Microsoft provides a great, efficient mesh storage format (.X) with built-in loaders that support many features including skinned mesh animation. In OpenGL you''ll need to write all of this code yourself or use some third-party library, which are generally (in my experience) rather lackluster, rather expensive and proprietary, or have license restrictions that may not be acceptable to many game developers (GPLed libraries).

Consider another example: Its currently much easier to consistently support shaders across different hardware sets in D3D. With OpenGL you''re stuck using two (or more) different methods, one for Nvidia chips, one for ATI chips, because the vendors couldn''t play nice and agree on a standard extention mechanism.

Both APIs have their pros and cons, but the only obvious advantage OpenGL has that is OBJECTIVE, not subjective, is the fact that it can run on multiple platforms.








#32 gmcbay   Members   -  Reputation: 130

Like
Likes
Like

Posted 09 January 2002 - 10:07 AM

In response to Outworlder...

Direct3D is obviously a Microsoft attempt to lock people into the Windows platform; I never try to deny that. Microsoft already had OpenGL running (for high-end CAD and rendering apps) under Windows NT and then Win95, and could easily have used OpenGL as the 3D portion of their overall gaming strategy. They didn't because they wanted to have an API which locked game developers to Windows (and now, to the XBOX), its as simple as that.

Microsoft isn't the only guilty party of course. 3dfx, as you mentioned, try its damnedest to lock programmers into Glide and thus 3dfx chipsets.... Microsoft was just a lot more successful due to being bigger and more powerful.

I use OpenGL for some of my projects, but I've been using D3D more and more on projects that will only ever be released for Windows anyway due to some of the benefits I see in D3D (listed above in my previous post)....At this point its really a matter of opinion...Unless you absolutely need to be multi-platform, there's no clear choice...Try both APIs and use the one you like...In fact, anyone who wants to be a 'real' game developer should make sure he/she knows both..Once you know one, if you REALLY know it, its very simple to learn the other...All of the concepts are the same....

As far as cross-platform sound, SDL is pretty good (as is OpenAL, which can work with SDL). And for networking, HawkNL does a great job of giving DirectPlay like functionality on multiple platforms, though most developers just go for the low-level berkeley sockets (winsock under Win32) which are cross-platform if you just use the basics and avoid the more complex event handling use of them that is available under some OSes).



Edited by - gmcbay on January 9, 2002 5:11:38 PM

#33 Null and Void   Moderators   -  Reputation: 1087

Like
Likes
Like

Posted 09 January 2002 - 10:14 AM

quote:
Original post by Outworlder
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).

OpenAL works fine for sound (also, its state machine design, much like OpenGL's, makes me feel at home ). I'm not going to comment on the rest of this thread, since everyone knows who's delusional.

[Resist Windows XP's Invasive Production Activation Technology!]

Edited by - Null and Void on January 9, 2002 5:14:33 PM

#34 Floppy   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 11:04 AM

My API of preference is OpenGL, but it's really up to the programmer to decide which one they think suits their needs; they are essentially the same besides their differences in syntax (and other things, i.e. COM, state machine, etc.)

Though I would really like to see developers target multi-platform users, it hasn't really bothered me as of yet (though there are those times...).

I use Linux almost exclusively these days, and there is this excellent project called WINE (stands for "Wine is not an emulator") (There is also VMWare, haven't tried it since it costs quite a lot though). What WINE does is provide a Windows compatibility layer for UNIX based OS's (i.e. Linux). I have had success getting Starcraft and Half-Life to work on my Linux box with WINE. I am content with my setup. So, a developer doesn't have to use a cross-platform design methodology to reach Linux users, but WINE isn't perfect, so it is a great gift when the developers port their games to Linux (it just makes things easier).

They both have their pros and cons with API specific graphics capabilities, but they are equal, so it's up to YOU , the developer, to choose with which one they want to use to meet their game specific criteria

Edited by - Floppy on January 9, 2002 6:05:45 PM

#35 max621   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 11:36 AM

Oops meant to say OpenGL can do everything Direct3D can do


||--------------------------||
Black Hole Productions
President/Programmer/Expert on stuff
||--------------------------||

#36 xgalaxy   Members   -  Reputation: 124

Like
Likes
Like

Posted 09 January 2002 - 11:51 AM

I really don''t think that OpenGL and DirectX graphics are identical. I can take any game and ask my friend what graphics API it is using and he can tell the difference almost 100% of the time between the two API''s. I don''t know what it is he sees, but he can tell them apart pretty easily.

I''ll even try to trick him by switching modes in Max Payne and so forth but he still gets it :/

#37 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 09 January 2002 - 12:18 PM

Very true, i too can tell the difference between the two APIs.
There is a difference in graphics. Your friend is not crazy heh

#38 grady   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 01:23 PM

There can be a difference in the way the OpenGL driver and the Direct3D driver use the video card.

The actualy API doesn''t produce anything visual, its just an interface to the hardware.


#39 max621   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 03:15 PM

OT: xgalaxy your name sounds very familiar... do I know you from somewhere???


||--------------------------||
Black Hole Productions
President/Programmer/Expert on stuff
||--------------------------||

#40 jenova   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 January 2002 - 04:25 PM

wow, don''t you love these replies.

i use Direct3D therefore it''s better.

or

i use OpenGL so it''s gotta be better.

absolutely ridiculous, but actually pretty funny.

continue guys, i think we could probably hit 200 posts and still not have an answer to unanswerable debate. wait, that''s because there is no answer. why, because both API''s can do the same stuff. or maybe because the choice is up to the programmer. or, maybe i should be coding and not wasting time trying to come up with futile reasons why one API is better than the other.

come on, can''t someone come up with something original to argue about that has no answer.

lol lol lol lol.

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.




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