How DirectX is essential for gaming?

mundane

Diamond Member
Jun 7, 2002
5,603
8
81
It presents a single API for developers to target, which would (ideally) prevent them from having to custom-code for each different video card driver, sound driver, input devices, etc.
 

TBSN

Senior member
Nov 12, 2006
925
0
76
If more developers started using OpenGL, wouldn't they be able to implement all the "exclusive DX10" effects, or would the graphics cards then have to be compatible with a new type of OpenGL as well as DX10?

Why isn't OpenGL more common?
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Originally posted by: TBSN
If more developers started using OpenGL, wouldn't they be able to implement all the "exclusive DX10" effects, or would the graphics cards then have to be compatible with a new type of OpenGL as well as DX10?

Why isn't OpenGL more common?

OpenGL can already do everything DX10 can do.
The graphics cards don't have to change to support it either.
OpenGL was written with the idea that it would be cross platform. That means a feature you have on one systems hardware might not exist in the next system.

To solve the problem OpenGL first checks if the feature has hardware support, if it doesn't the application still runs, it just runs that function in software.

So if there is a feature you want to try in an OpenGL title and its not supported by your hardware you can normally do so, but at a performance hit.

DX was supposed to do away with developers having to worry about what driver supported which feature and standardize the whole thing. It didn't work out that way.
Its still common to find drivers being released to fix a problem a single game had.

OpenGL is also the primary library for PS3 development.

Its not more common because OpenGL is free, open source, and has no commercial interest in promoting itself.
Dx is popular in windows gaming because MS has tons of cash to promote it.

A friend who is a developer was discussing a title at GDC.
He told me MS offered him $90K if he would drop support for cross platform (windows & OSX ) and come on board as a Games for Windows title only. He was pissed . He needs the money but told me that he felt like it would be selling out , about like a mafia boss buying your allegiance.

I'm right now deciding if I want to go in with him , but that would be giving up a paying job and I know development is a long process before there is any payback. But my friends refusing of the MS offer really made me respect him a whole lot more than I already did.

OpenGL is better in the end for gamers, but its hard for developers to make the switch.
DX has become entrenched pretty deep, lots of programmers know how to use it. OpenGL got kind of pushed to the side and the developer support isn't as large as a result.

 

SexyK

Golden Member
Jul 30, 2001
1,343
4
76
DirectX is more than just Direct3D. There's also DirectDraw, DirectSound, DirectSound3d, DirectInput, etc... however most of the components outside of Drect3D have been deprecated in DX10 in favor of new APIs. Many older games still rely on these other components of the API though, so they are still distributed as part of the DirectX package.
 

Bateluer

Lifer
Jun 23, 2001
27,730
8
0
I wish more developers would support OpenGL, it'd be more beneficial overall for the industry. Better OGL support would make it easier for cross platform titles, but thats something that MS has no interest in.
 

TBSN

Senior member
Nov 12, 2006
925
0
76
Thanks for all the info Modelworks. OpenGL definitely seems like the way to go, especially because it would make Macs a viable gaming computer (8 core Mac Pro anyone? :) )
 
Oct 25, 2005
60
0
0
Originally posted by: TBSN
Thanks for all the info Modelworks. OpenGL definitely seems like the way to go, especially because it would make Macs a viable gaming computer (8 core Mac Pro anyone? :) )

They suffer somewhat because Apple's OGL implementation is not the fastest one around. Running a recent Id game, for example, on a Mac running both OS X and Windows will show a significant speed boost on the Windows side.

8 cores is also not terribly useful for gaming at the moment, but that will probably change in time. Apple hasn't shown a lot of love to gamers, because they don't see it as a priority in their vision of their digital lifestyle/creative professional user base. This is reflected in the fact that there aren't many Macs that make good gaming computers despite being powerful machines. The Mac Pro is the only one with an upgradeable graphics card, and it isn't that well suited, being too expensive with multiple Xeons and FB RAM, etc.

But yeah, going OpenGL does give a lot of flexibility for multi-platform development. Honestly, if I were a dev, I'd be shooting for easy porting across platforms, since it gives the opportunity to gain from different markets. But then, I'm not a dev, so maybe I don't know what I'm talking about. ;)
 

apoppin

Lifer
Mar 9, 2000
34,890
1
0
alienbabeltech.com
Originally posted by: Modelworks
Originally posted by: TBSN
If more developers started using OpenGL, wouldn't they be able to implement all the "exclusive DX10" effects, or would the graphics cards then have to be compatible with a new type of OpenGL as well as DX10?

Why isn't OpenGL more common?

OpenGL can already do everything DX10 can do.
The graphics cards don't have to change to support it either.
OpenGL was written with the idea that it would be cross platform. That means a feature you have on one systems hardware might not exist in the next system.

To solve the problem OpenGL first checks if the feature has hardware support, if it doesn't the application still runs, it just runs that function in software.

So if there is a feature you want to try in an OpenGL title and its not supported by your hardware you can normally do so, but at a performance hit.

DX was supposed to do away with developers having to worry about what driver supported which feature and standardize the whole thing. It didn't work out that way.
Its still common to find drivers being released to fix a problem a single game had.

OpenGL is also the primary library for PS3 development.

Its not more common because OpenGL is free, open source, and has no commercial interest in promoting itself.
Dx is popular in windows gaming because MS has tons of cash to promote it.

A friend who is a developer was discussing a title at GDC.
He told me MS offered him $90K if he would drop support for cross platform (windows & OSX ) and come on board as a Games for Windows title only.
He was pissed . He needs the money but told me that he felt like it would be selling out , about like a mafia boss buying your allegiance.

I'm right now deciding if I want to go in with him , but that would be giving up a paying job and I know development is a long process before there is any payback. But my friends refusing of the MS offer really made me respect him a whole lot more than I already did.

OpenGL is better in the end for gamers, but its hard for developers to make the switch.
DX has become entrenched pretty deep, lots of programmers know how to use it. OpenGL got kind of pushed to the side and the developer support isn't as large as a result.
is that really even legal? .. that GfW cannot also be CrossPlatform

maybe he should consult a lawyer .. i'd love to look at that proposed contract between him and MS ... is he locked into an "exclusive" just as with any other "platform"? .. for $90K .. good to know

if so, MS is pretty stupid ... but then they just bought Yahoo for no good reason whatsoever and overpaid - it is starting to look like they are getting "lost" .. kinda weird, MS is up - Apple is down .. Apple gets their hype machine rolling and MS gets lost somewhere between Xbox and GfW ... and Vista :p
:roll:

universal balance as seen on planet earth?
:confused:
 

natto fire

Diamond Member
Jan 4, 2000
7,117
10
76
Simple answer: It isn't.

Complex answer: While Microsoft had to answer to many governments for it's attempted monopoly on much sotware, it never caught flak for it's inferior DirectX system because gaming monopolies never impeded the flow of commerce. That does not make it's API any better or worse. You will have many people from many sides trying to pull anyone one way or another. I own an Nvidia card (7900 GS upgraded from 6800GT, which was upgraded from a 9600XT) so I wholeheartedly support OpenGL, and not just because NV hardware is superior to ATI as far as Open source drivers and hardware rendering of Open APIs, but because it is clear that open standards are the only way of really advancing rendering techniques. I am pretty sure I am not alone in noticing that the shift from DX9 to DX10 required completely different hardware with a minimal difference in graphics. It is a great money making scheme and and a good blow to the already struggling PC gaming market, but I guess capitalists will be capitalists, which means any sliver of preservation is out the window...
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Originally posted by: apoppin
is that really even legal? .. that GfW cannot also be CrossPlatform

maybe he should consult a lawyer .. i'd love to look at that proposed contract between him and MS ... is he locked into an "exclusive" just as with any other "platform"? .. for $90K .. good to know

if so, MS is pretty stupid ... but then they just bought Yahoo for no good reason whatsoever and overpaid - it is starting to look like they are getting "lost" .. kinda weird, MS is up - Apple is down .. Apple gets their hype machine rolling and MS gets lost somewhere between Xbox and GfW ... and Vista :p
:roll:

universal balance as seen on planet earth?
:confused:

Its legal.
The contract would just read that he was receiving 'development capital' for exclusive rights to his game.

It would only be illegal if they did something like , either you make it an exclusive or you can't sell the game for windows pc.

The 90K is just an enticement to make the game windows exclusive.
They do it all the time, offering development kits for the xbox free of charge or giving away software, etc. They aren't the only ones either, sony and nintendo do it as well.
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
One thing that may make more OpenGL games happen is DX10.
MS made DX10 , vista only, which isn't making lots of gamers happy.
OpenGL can do DX10 type graphics on XP, so people wouldn't have to upgrade to vista to use the next gen graphics.
 

PingSpike

Lifer
Feb 25, 2004
21,758
603
126
Originally posted by: Modelworks
One thing that may make more OpenGL games happen is DX10.
MS made DX10 , vista only, which isn't making lots of gamers happy.
OpenGL can do DX10 type graphics on XP, so people wouldn't have to upgrade to vista to use the next gen graphics.

This is an important point.

I'm a layman here, but I was sort of interested in this topic so I had done a bit of reading previously. As I understand it, one advantage of directx (I think most people mean direct3d when they talk about directX btw, the rest of the suite isn't really anything of consequence) is that its easier to find developers that know direct3D then it is to find OpenGL developers. So, cheaper development costs and a wider talent pool. Its not as simple as saying "Hmmm...should I use OpenGL or DirectX for this game?"

OpenGL used to have a lot more market share then it does now. I think as developers have slashed costs and focused solely on windows they have sort of abandoned OpenGL, with a very noteable exceptions in heavy hitters like Epic and id. This is turn has probably led to a smaller talent pool of OpenGL developers.

I saw some common accusations against MS when I was looking around. Apparently they had a seat on the OpenGL development board and used that seat primarily to derail the APIs progress.

Of course, with MS money making decision to constrain DX10 to Vista only, they've left a pretty big vacumn that OpenGL could easily fill- The one stop API solution. Microsoft never really filled that roll, but with 90% of PC Gamers on PCs using windows, it wasn't such a big deal that directx9 only worked on 90% of PCs. Now you're back to fumbling with a couple different rendering paths if you want to serve the vista users and the XP users. I'd imagine at least some developers are weighing the added cost of OpenGL more seriously now. They can capture that other 10% demographic as a bonus. (I'm just making up the numbers here, I have no idea)
 

BladeVenom

Lifer
Jun 2, 2005
13,365
16
0
Originally posted by: incompleteunit

They suffer somewhat because Apple's OGL implementation is not the fastest one around. Running a recent Id game, for example, on a Mac running both OS X and Windows will show a significant speed boost on the Windows side.

XP or Vista? All the benchmarks I've seen since Vista has come out, shows it sucks for games and 3d applications.

When Quake Wars came out, Linux beat Vista in benchmarks. In other recent 3d benchmarks Vista loses to both Linux and Solaris. NVIDIA Workstation Performance: Windows vs. Linux vs. Solaris
 

brandonb

Diamond Member
Oct 17, 2006
3,731
2
0
First of all, the OpenGL vs DirectX thing has been beaten to death.

However, there IS a reason why OpenGL isn't used more, and it doesn't have anything to do with Microsoft paying developers off.

OpenGL handles graphics rendering in 3d.... ONLY.
DirectX supports more than 3d rendering, it supports Input, Audio, etc.

In order to create a "clean" program. Why would you write the entire thing in DirectX except the 3d portion, and go to openGL when you had to learn DirectX anyhow for everything else?

Most developers don't try to learn multiple skills. They stick to a single well debugged, well used, solid platform. They don't mix and match.

Unlike what other people have said, OpenGL is open source, cross platform, and supports many video cards. However, theres a few problems with OpenGL.

-It's native C API structure. When working with it, it feels like you are working with something designed from 1980. Today, with DirectX10, we should be working with an up to date modern feeling API. OpenGL and DirectX are very different in that aspect. OpenGL feels like "C", and DirectX feels like "C++"

-To make a DirectX10 effect, you have to use what is called an extension, extra features provided by the OpenGL driver for a particular video card (be in ATI or Nvidia). Of course they don't collaberate, and they do things differently. Therefore, you have to write "ATI" code to do a feature, and then you have to write a "nVIDIA" section of code to do the same feature. They don't work exactly the same, and its a headache for the developers to develop with. Now add in different platforms, be it Windows, Apples, Linux. It starts to get messy very quick. You have features which might or might not work on all hardware, and you open the door to bugs. DirectX10 compliant video cards require the manufacturer to support all features of DirectX10 using standardized tests before they get the compliant logo. This means you do away with the mess. Granted OpenGL if you can get through the hurdles might work on other platforms, they might work just as well as DirectX10, but I can guarentee you that development took twice as long to get there. Many companies don't want to do it.

-DirectX has really good documentation. Written by Microsoft, it looks like anythingg else in the MSDN library. Samples, examples, debuggers that work within Microsoft Dev Studio...

I'm not saying OpenGL or DirectX10 are better than one or the other, but as far as a developer is concerned and/or game companies. DirectX feels more solid and professional run by a real company. If you only develop on windows (what hobbiest is going to care if their app runs on linux if they dont have a linux setup at home anyhow?), then why not?

In my experience, I started an open source project many years ago, I decided to stick with Windows and DirectX. Other programmers came in and wanted cross platform, OpenGL, etc. We went ahead and tried. Anyways, to make a long story short, in order to provide cross platform, it required the entire program to use only 3rd party tools/API's which were cross platform. However, we ran into issues where the input portion of the program required zlib version 2.0, and the audio portion required zlib version 2.8. The graphics portion required zlib version 1.0. In other words, I spent nearly 6 months trying to get the thing to work rather than actually coding. Thats the kind of mess you get going cross platform. Nothing works together, and there has to be massive collaboration between projects. You spent more time trying to make it work than working on your own code. I left the project because in the time I spent trying to band aid the project I could have been 10x further into the development if we had stuck with Windows/DirectX.
 

bullbert

Senior member
May 24, 2004
717
0
0
Originally posted by: Modelworks
A friend who is a developer was discussing a title at GDC.
He told me MS offered him $90K if he would drop support for cross platform (windows & OSX ) and come on board as a Games for Windows title only. He was pissed . He needs the money but told me that he felt like it would be selling out , about like a mafia boss buying your allegiance.

Business is all about negotiation. He should have countered with the figure $900K (or even $9M if you friend's project is a Halo-killer or WoW-killer), then with every countered counter-offer, he RAISES his new counter offer by 10%.
 

Drift3r

Guest
Jun 3, 2003
3,572
0
0
Originally posted by: rickymylv
How DirectX is essential for gaming? Please tell me...

It's not. If DirectX support ended tomorrow developers would automagically switch to OpenGL, OpenAL, etc...