Sign in to follow this  
Nima

Why DirectX ? ( Discussion )

Recommended Posts

Nowadays everybody knows that DirectX and OpenGL are the same in functionality as everything is going to be based on shaders and we can get the same performance with both of them. I’m a DirectX developer and you assume that we are going to develop games for "windows" at the moment with DirectX, but we face many OpenGL developers try to change your idea about using DirectX in this situation with some questions like below: 1) "DirectX is specific to Microsoft platforms but OpenGL is cross-platform, and they have the same functionality, so why don't you learn OpenGL which let you port your game to other platforms like Linux/Mac in the feature easier and without extra effort and even let you develop cross-platform 3D Apps instead of games if you like ?" 2) "Each version of DirectX breaks compatibility with the previous version and you always need a new compatible graphic card, but for OpenGL there are Extensions." 3) You say: 'Microsoft's Support'. What are serious supports of Microsoft for DirectX that OpenGL doesn't have?" 4) "And finally, what are advantages of DirectX rather than OpenGL to develop PC games? (Let us forget about Xbox 360) or vice versa, the weaknesses of OpenGL in this situation?" regardless of all my knowledge, I did not have enough answers to convince them why I’m using DirectX... Note that it is NOT a DirectX vs OpenGL question, and Please discuss about above questions. Thanks in advance [Edited by - Nima on July 4, 2008 3:40:17 AM]

Share this post


Link to post
Share on other sites
It is my belief (though it may be wrong) that DirectX is more closely at the edge of current hardware. MS works closely with video card vendors to standardize the next generation of the API. OpenGL always seems to lag behind, using all those extensions that seem to say "well, it's not really part of OpenGL, but we'll support it if you jumps through these hoops".

DirectX just seems cleaner, more solid, thought-out. To me, at least.

Share this post


Link to post
Share on other sites
Quote:
Original post by Nima
1) "DirectX is specific to Microsoft platforms but OpenGL is cross-platform, and they have the same functionality,
so why don't you learn OpenGL which let you port your game to other platforms like Linux/Mac in the feature easier and without extra effort and even let you develop cross-platform 3D Apps instead of games if you like ?"
Writing software to run on non-Windows platforms involves a lot more change than just changing graphics API. There aren't that many people who write cross-platform games, so this isn't usually much of an issue.

Quote:
Original post by Nima
2) "Each version of DirectX breaks compatibility with the previous version and you always need a new compatible graphic card, but for OpenGL there are Extensions."
Just because a new version of the API comes out, it doesn't mean that your existing code won't work. Nobody is forcing you to upgrade. You can still compile and run DirectX 6 code if you want to (Provided you still have the SDK kicking around).

Quote:
Original post by Nima
3) You say: 'Microsoft's Support'.
What are serious supports of Microsoft for DirectX that OpenGL doesn't have?"
I don't understand what you mean by this. Microsoft doesn't provide any more support for DirectX than OpenGL.

Quote:
Original post by Nima
4) "And finally, what are advantages of DirectX rather than OpenGL to develop PC games? (Let us forget about Xbox 360) or vice versa, the weaknesses of OpenGL in this situation?"
If you want to develop for the Xbox 360, the API is apparently similar (But not identical to) Direct3D. Knowing Direct3D will help a lot here. As far as I know, OpenGL isn't supported at all on the 360.

Quote:
Original post by Nima
regardless of all my knowledge, I did not have enough answers to convince them why I’m using DirectX...

Note that it is NOT a DirectX vs OpenGL question, and Please discuss about above questions.

Thanks in advance
Nitpick: It's Direct3D. DirectX does a lot more than just graphics, whereas OpenGL just handles graphics rendering.

The reason I prefer Direct3D is that that it's more object orientated, there's only one global function to create a Direct3D interface, and then the utility functions. Which is another reason I prefer D3D - with the SDK you get a full optimised math library, and no end of utility classes for things like rendering sprites and text, loading textures and loading models. All of that code needs written yourself (Or you need to use another library or libraries) for OpenGL.
Finally, I've never really had any reason to learn OpenGL. I've done very little OpenGL code, not much more than a spinning cube in immediate mode. It's still on my "Things to learn" list, but it's just not high priority. I suppose there's a lot of OpenGL users who feel the same about Direct3D though...

Share this post


Link to post
Share on other sites
1)
I try to make all my games run on Linux/Mac/PC and by using OpenGL, there's very little code I have to alter to make it work. I'm an avid Linux user and if every game developer used OpenGL, most games would run on Linux just fine. I just don't understand why the game industry is so dominated by Direct3D at the moment. Ok, the Direct3D API might be a little bit cleaner, though that's just a matter of personal opinion, but cross-platform operation is just such a big plus that I wouldn't even think about using Direct3D for my games.

2)
New versions come and go, it's part of the software business. Personally, I could live with this.

I always thought OpenGL was more on the cutting edge of hardware possibilities. I think you could use geometry shaders through extensions before DX10 arrived.

3)
Microsoft supports gaming companies with a bag of money. How else would you explain it's market dominance in the industry when OpenGL offers about the same level of capabilities?

4)
Support for the 360 is a very good thing for game developers I guess. It's quite a popular platform. If you're not planning to develop for this system though, I see no reason to go for Direct3D.

Jeroen

Share this post


Link to post
Share on other sites
Quote:
Original post by godmodder
3)
Microsoft supports gaming companies with a bag of money. How else would you explain it's market dominance in the industry when OpenGL offers about the same level of capabilities?
As far as I know, Microsoft doesn't provide any sort of incentive to use D3D. The reason it's being used at the moment is probably because it's easier to get a high-performance engine up and running quickly with D3D (Due to the utility classes D3DX provides, although this is partially just my opinion), and many games use existing engines which already use D3D.

Quote:
Original post by godmodder
4)
Support for the 360 is a very good thing for game developers I guess. It's quite a popular platform. If you're not planning to develop for this system though, I see no reason to go for Direct3D.
It's personal preference more than anything else. I have no intention of transitioning to using OpenGL over D3D, almost entirely because I prefer the layout of the API. And the reasons I mentioned above (Helper classes, etc).

Share this post


Link to post
Share on other sites
Quote:
The reason it's being used at the moment is probably because it's easier to get a high-performance engine up and running quickly with D3D (Due to the utility classes D3DX provides, although this is partially just my opinion).


I think this is the reason I use OpenGL. I'm a hobby programmer, so I want to learn all the details and I don't want to use built-in math libraries and such ;)
Ofcourse in a professional environment it could boost productivity by alot. But then again, the people who are professionals know (or at least are supposed to know) all the details about math and such, so they wouldn't have much trouble programming their own library.

I noticed alot of people are afraid to use OpenGL, because of the lack of a math library. This is why I made the PSSM demo in OpenGL for example. Everybody was already doing it in Direct3D, but the code wasn't showing all the mathematical details that well because of the high-level math functions in DX.

Jeroen

Share this post


Link to post
Share on other sites
Quote:
Original post by Nima
Nowadays everybody knows that DirectX and OpenGL are the same in functionality as everything is going to be based on shaders and we can get the same performance with both of them.


While you can use Shader Model 4.0 with OpenGL (even on Windows XP), you won't get virtualized video memory without DirectX 10 + Vista.

Quote:
Original post by Nima
2) "Each version of DirectX breaks compatibility with the previous version and you always need a new compatible graphic card, but for OpenGL there are Extensions."


I think these are just two approaches resulting in the same. When a new generation of graphics cards with new features emerges, OpenGL adds extensions and Microsoft rolls out an updated API.

If you require the new extensions, you loose compatibility to older cards with OpenGL. If you use the new API, you loose backwards compatibility to older cards with DirectX.

- OpenGL portability really is a killer feature.

- Other than that, I prefer DirectX. In my eyes, the OpenGL extensions (especially if you consider there being vendor specific ones) are a mess, the API isn't very concise and quite error prone.

- If you target DirectX 10, you have a certain guaranteed feature set. Any card that claims to do DirectX 10 is requires to support this feature set. That makes consistency across a large number of systems very simple. Not so if OpenGL rules things, we'd have another bazillion extensions some would support and others won't.

[Edited by - Cygon on July 3, 2008 6:56:38 AM]

Share this post


Link to post
Share on other sites
Quote:
Original post by godmodder
I think this is the reason I use OpenGL. I'm a hobby programmer, so I want to learn all the details and I don't want to use built-in math libraries and such ;)
Ofcourse in a professional environment it could boost productivity by alot. But then again, the people who are professionals know (or at least are supposed to know) all the details about math and such, so they wouldn't have much trouble programming their own library.


Very few people know how to properly optimize code these days (quite a lot think they do, though). That holds true in the professional environment as well. At most, I would customize an existing (proven to be fast and correct) math library and be happy as long as I gives the correct results.

Quote:
Original post by godmodder
I noticed alot of people are afraid to use OpenGL, because of the lack of a math library. This is why I made the PSSM demo in OpenGL for example. Everybody was already doing it in Direct3D, but the code wasn't showing all the mathematical details that well because of the high-level math functions in DX.


I think I don't quite get it, sorry. From what I could see, D3DX only provides a low-level math library (vectors, matrices, quaternions). If I wanted to understand how some algorithm works, I'd be happy to see a call to D3DXMatrixMultiply() instead of someone doing matrix multiplication right by hand. And ther are so many free math libraries out there that I wouldn't even consider D3DX an argument in API choice.

Probably I'm just misunderstanding what you're trying to say, so please clarify ;)

Share this post


Link to post
Share on other sites
Quote:
Original post by Nima
Nowadays everybody knows that DirectX and OpenGL are the same in functionality as everything is going to be based on shaders and we can get the same performance with both of them.

I think you meant to say Direct3D and OpenGL. OpenGL does not offer the same functionality as DirectX.

Edit: apparently Steve already pointed this out, although I think the difference is too significant to call it a nitpick. [smile]

Quote:
Original post by Nima
1) "DirectX is specific to Microsoft platforms but OpenGL is cross-platform, and they have the same functionality,
so why don't you learn OpenGL which let you port your game to other platforms like Linux/Mac in the feature easier and without extra effort and even let you develop cross-platform 3D Apps instead of games if you like ?"

Although it's mostly used for games, Direct3D can just as well be used for other applications. Also, this argument might as well be used to advocate the use of a cross platform game or rendering engine instead of a certain API. If supporting multiple platforms is so important, this will make things even easier.

Share this post


Link to post
Share on other sites
Wow. So much misinformation about D3D in the first post.

D3D doesn't require new hardware unless you want to use newer features. This is no different than new OpenGL extensions. It's up to the programmer to code in a fallback path if those features don't exist.

I don't care about Mac and Linux. Doesn't bother me that my stuff doesn't run there. I don't own a mac and I never will, and I'll probably never install another Linux distro again, because it's useless to me as a desktop OS. So what is so bad about being locked to windows? Also, the flavor of DX that I have been using lately also works on the Zune and the 360.

Personally, I stopped using OpenGL because I got fed up with it. It falls short in many areas.

Support is horrible. It's so hard for me to give one of my OpenGL programs to my casual friends and just let them run it. They always have no idea what OpenGL is, or what version they have. Trying to get all the info from them to try and find out what they need to DL to get to new GL drivers can be a real pain. DX works out of the box. And if not, it's fixed with a simple redist exe.

Extensions are a mess. Who wants to use some new experimental extension when it's just going to have it's name changed at a later date, and fail to load in your code, when it's not found? How many of your users will even have support for it anyways? I actually own games that give me errors for old extensions that aren't found. [rolleyes] I don't understand why GL just can't include the GLEE functionality directly in the library themselves. They rely on their userbase for everything.

I only learned OpenGL first as a convenience. I knew C more than C++ at the time, there was the nehe site, which was easy to follow along with, and I was using either DevC++, MingWStudio, or something else over GCC, which was a pain to compile any DX stuff with.

Besides, the 2 APIs exist for 2 reasons. OpenGL is a generic graphics language which tries to be all things to all people. DirectX was born when Win95 came out, and game developers needed direct access to the hardware. It is made to make games that run fast on the windows platform. It's not trying to be OpenGL, hell, OpenGL wasn't even an issue. Game programmers were having you drop to DOS to run their games because of the hardware access.

Any version of Direct3D is about getting the fastest graphics performance on the current generations of windows. So yes, the API changes, but for the better, because the platform has changed over time. The old API is included, but the new version will shed anything it doesn't need. Direct3D doesn't try to be the everything for everyone like OpenGL does. It's part of DX, which is a product to make Windows Games.

There is no reason not to use DX, and there is no reason not to use OpenGL. Use whichever one you know, and whichever one suits your needs. If you are on a forum full of people bsing you about DX, I advise you to find a better community to post on, because those people are unable to give you an unbiased answer, and simply want to push their own agenda.

If multi-platform isn't an issue for you, than just don't worry about it.

Share this post


Link to post
Share on other sites
Quote:
Original post by godmodder
But then again, the people who are professionals know (or at least are supposed to know) all the details about math and such, so they wouldn't have much trouble programming their own library.


Completely irrelevent. A good engineer doesn't waste his/her time implementing something that's already available to them, even if they know how to do it.

Quote:
Original post by godmodder
I noticed alot of people are afraid to use OpenGL, because of the lack of a math library.


And why shouldn't they be? Professionals don't want to have their millions of development dollars pinned on libraries that aren't thoroughly tested. Hobbyists don't have the time to muck around with SSE and assembly. Beginners are just learning the high-level concepts of graphics, having to implement vector math and texture-loading functions gets in the way of that.

Share this post


Link to post
Share on other sites
I wrote a list of reasons that developing on OpenGL is a miserable experience.

Additionally, OpenGL drivers have historically had problems on Windows -- until recently the ATI implementation was quite poor, and the Intel implementation always has been pretty bad. Consider that Blizzard games (WoW etc) default to Direct3D on Windows, even though they have a perfectly good OpenGL renderer available.

In short, there's two basic reasons people choose D3D over OGL. First, drivers for it on Windows are way better. Second, the API/library itself is just better designed, better written, and easier to work with. Oh, and let's not forget how badly OpenGL 3.0 has been botched.

Share this post


Link to post
Share on other sites
Interesting topic. (Please note that I know almost nothing about D3D and the D3D API... just in case I say something stupid.)

Quote:
Original post by Daaark
I don't care about Mac and Linux. Doesn't bother me that my stuff doesn't run there. I don't own a mac and I never will, and I'll probably never install another Linux distro again, because it's useless to me as a desktop OS. So what is so bad about being locked to windows? Also, the flavor of DX that I have been using lately also works on the Zune and the 360.

Personally, I stopped using OpenGL because I got fed up with it. It falls short in many areas.

When I develop, I do care about the users of my work, which means caring about what they may be using(or prefer to use), not what I prefer to use. I'm a Linux user and, not surprisingly, I know many other Linux and Mac users. It always bothers me when people answer the question of why they didn't develop cross platform with the answer, "Because I use Windows." (Sometimes there are good or strong arguments for why they didn't, but that one certainly isn't.)

There are wrappers for OpenGL. I'm currently developing a small 2D engine that's module-based, and the default module I ship with it uses OpenGL. (If the engine gets far enough, I want to attempt a DirectX module for the Windows platform, actually!) For this, I've had to wrap some of the API, which I actually prefer because I can define my own interfaces. C APIs are very flexible. The sky's the limit in regards to how you want to wrap them! I think coercing DX's already OO API into a module is actually going to be more of a challenge. I'll also have to coerce (convert) my math types (vectors, matrices, etc.) into DX's. Yuck.

It would be great if D3D magically became a cross platform standard someday. Too bad.

I think an interesting project would be to wrap the entire OpenGL API in a very D3D-like object-oriented interface, not exposing a single raw OpenGL function as is.

Share this post


Link to post
Share on other sites
Thank you all for participating.

Quote:
Original post by MJP
Quote:
Original post by godmodder
But then again, the people who are professionals know (or at least are supposed to know) all the details about math and such, so they wouldn't have much trouble programming their own library.


Completely irrelevent. A good engineer doesn't waste his/her time implementing something that's already available to them, even if they know how to do it.
I agree, it can be really an advantage for Direct3D to save time and money.

Quote:
Original post by Evil Steve
Nitpick: It's Direct3D. DirectX does a lot more than just graphics, whereas OpenGL just handles graphics rendering.
You mean DirectInput and DirectSound ?

Quote:

If you require the new extensions, you loose compatibility to older cards with OpenGL.
For Direct3D we know that D3D9 graphic cards support at least some specific features and that's easy to use them and also inform customers about requirements,
but with existence of extensions for OpenGL which require a certain OpenGL version, what should we do?
I've never seen a game demand an specific OpenGL version to be played, why ?

unfortunately my OpenGL knowledge is not vast, could anyone clarify it?

Share this post


Link to post
Share on other sites
Quote:
Original post by Nima
Quote:
Original post by Evil Steve
Nitpick: It's Direct3D. DirectX does a lot more than just graphics, whereas OpenGL just handles graphics rendering.
You mean DirectInput and DirectSound ?
Yes. DirectShow also exists, although it's now part of the Platform SDK. DirectInput's usage is discouraged, and DirectPlay is deprecated (Winsock should be used instead). And DirectDraw, although that's no longer used either (Unless you're doing overlay stuff).

Share this post


Link to post
Share on other sites
Quote:
Original post by Daivuk
Only thing I can say is: Create an abstract layer, and do both.


Wow, now that's some seriously bad advice for most people you're giving there, fella. Abstracting away the graphics API used to be the way to approach developing games in the 90ies, when certain cards had horrible drivers for Direct3D or OpenGL. We're far from that now and there's typically no benefit in enabling the user to choose an API for a game.

By creating an abstraction layer you're effectively doing work twice without gaining anything because Direct3D and OpenGL are so similar now. Feature and performance-wise.

Or do you have any specific reasons to back up your suggestion?

Share this post


Link to post
Share on other sites
An abstraction layer can provide cross platform compatibility. Not only that, but there's no reason to implement that layer with more than one API until there's some demand or reason otherwise to do it, so the cost isn't too great (creating the abstraction in the first place takes time and effort, but you don't need to implement it twice... at least, not unnecessarily).

For example, create a game, implement the graphics layer with Direct3D, ship it, and when enough of the typical "We Want a Linux/Mac Client" threads appear, implement the layer with OpenGL.

Share this post


Link to post
Share on other sites
Cross-platform application development is more than providing a pluggable rendering backend. Supplying an OpenGL backend won't magically make your app work on Linux/Mac.

Share this post


Link to post
Share on other sites
Of course not. In my example I only mentioned a graphics layer since we're talking about Direct3D and OpenGL. The entire game could sit atop a layer of abstraction (such as an abstracted game engine). This includes input, audio, etc.

Share this post


Link to post
Share on other sites
Quote:
Original post by GenuineXP
It always bothers me when people answer the question of why they didn't develop cross platform with the answer, "Because I use Windows." (Sometimes there are good or strong arguments for why they didn't, but that one certainly isn't.)

Actually, it is. It's a great answer. You just don't like it, which, while you're entitled not to, is completely irrelevant.

I'm a software developer intending to create a product, and I've identified a target audience and done some research on their available infrastructure. Based on my research, I've determined that I get the most return on investment by using technology X. Now you say, "Use technology Y instead, and you can also support marginal audiences Foo and Quux!" You're entitled to the opinion and the argument, but I am ultimately going to choose the implementation technology that gives me the best ROI - the best compatibility and quality for the amount of development effort I am ready to expend.

If I've determined that I wish to target Windows users (because it has the highest concentration and largest overall number of game players), then it is perfectly legitimate for me to employ Direct3D. If doing so fundamentally excludes Mac and Linux users, that is still my right; Mac and Linux users knew going in that there was limited gaming support for their platforms, so they really are not my problem. Plus, Linux users rarely buy their games anyway, and if I'm trying to make a profit as a gaming software vendor, I'll want to focus on healthy markets.

(Admittedly, Mac users generally support indie developers better, per capita, than Windows users. Does that hold for games, too? iDevGames says yes, but there are few other non-anecdotal sources.)

If I am more familiar with Direct3D, implying that choosing OpenGL would incur an additional development cost and potential quality penalty, then it is perfectly reasonable for me to "cut my losses" by eschewing the Mac and Linux audiences. People don't have infinite time and resources, and this is why many of them choose Direct3D and Windows exclusivity. It's a personal preference, and it's their right to make it.

Share this post


Link to post
Share on other sites
OpenGL has cross-platform support that Direct3D doesn't. (Not counting 360).
OpenGL can run fine on older hardware provide via drivers. I was running OpenGL 2.1 on a nVidia GeForce 6150LE.

But whats really so great about Direct3D's Math library? In my honest opinion? I replaced it when I did Direct3D over a year or so ago.

Yeah one thing about Direct3D it's updated every two months. OpenGL it takes awhile.

But the bad thing about it. You have to buy a new graphics card. But not with OpenGL. If OGL3 is released soon and not later. It will run on Windows XP (for those Nazi's). Direct3D 10 won't do that. Because Microsoft did that to get people to switch to the new operating system which I could understand.

nVidia doesn't even support Direct3D 10.1. Only ATI. iirc nVidia does some of Direct3D 10.1 through extensions(wondering if they did or still going to)

Try doing CAD, etc with Direct3D its an irritable PITA. Or so I have heard from other programmers.

The problem with games is. It's not Direct3D nor is it OpenGL's fault. It's PEBKAM. So don't blame the api. Blame the programmer.

The most for and all the post I have read they develop for what they own. The look in the best interest of their self and not other people.

Direct3D is only limited to Win32/MFC. OpenGL has win32/MFC, Qt4, wxWidgets, gtk,gtk+,GTKmm, SDL, SDLmm, etc. Your not limited to the bad api that Direct3D imposes you to.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Quote:
Original post by GenuineXP
It always bothers me when people answer the question of why they didn't develop cross platform with the answer, "Because I use Windows." (Sometimes there are good or strong arguments for why they didn't, but that one certainly isn't.)

Actually, it is. It's a great answer. You just don't like it, which, while you're entitled not to, is completely irrelevant.

Hm, don't you think this is just like developing for Linux only with the answer, "Because I use Linux."?

I'm really talking about indie development here, or I would have used we in place of I (obscure, I know). :-)

In any case, I understand what you're saying, especially as a group selling a closed source product for profit. The simple fact is that the Windows OS is (by far) a much larger market.

I also didn't say no one should have the right to develop exclusively for a specific platform! No way! (You seem to put a lot of emphasis on this, and I'm not sure why.) I merely said that I dislike choosing a single platform based solely on the developer's preferred platform instead of what's used by the (potential) audience, fanbase, or what have you. (Of course, like you said, it's their choice in the end, I just don't like it... which is what I said in the first place.)

As far as saying it isn't a sound argument... well, I'll take that back. I just happen to think a lot of faithful fans/users get the short straw when developers ignore them. For instance, I wish WOW had a native Linux client! :-)

Anyway... D3D? OpenGL?

Share this post


Link to post
Share on other sites
Quote:
Original post by GenuineXP
Hm, don't you think this is just like developing for Linux only with the answer, "Because I use Linux."?


I don't see the problem with that. I only write stuff for Windows (both professional and private) because I use Windows. If someone doesn't want to support windows, then that's their perogative. Far be it from me to tell them what platforms to write for. If you don't want to do it out of laziness or no familiarity with the platform and no inclination to learn those platforms (that describes my attitude pretty well), then whatever, I can respect that.

The only issue I have with that are the few bad apples with the "I WON'T WRITE IT FOR WINDoZe BECAUSE IT'S MICRO$0FT!!! AND THEY'LL EAT THROUGH MY TINFOIL HAT!!" mentality. That's just silly. And it'd be equally silly if someone said the same about linux, or mac os.

Besides, everyone knows Microsoft developed anti-tinfoil hat spy beams years ago... jeez. [grin]

Anyway, back to the original discussion:
1. I hate the extensions mechanism in OpenGL.
2. I find the flow of Direct 3D to be more logical (mostly, there are issues here and there).
3. I like cake. R2-D2 cake especially.

Share this post


Link to post
Share on other sites
Quote:
Original post by Eckos
But whats really so great about Direct3D's Math library? In my honest opinion? I replaced it when I did Direct3D over a year or so ago.


It gets you up and going faster; as a newbie it can be useful rather than worrying about re-writing maths functionality.

Quote:

But the bad thing about it. You have to buy a new graphics card. But not with OpenGL.


Wait.. what?
DX9 has been around for ages, if I still had my 9700Pro from whenever I got it I could plug it in and run DX9 games today, like 6 years on from when the hardware was made.

Nor does OpenGL magically grant hardware new abilities; when it comes to DX9 class hardware if OpenGL can do it then D3D9 can do it.
In some cases if D3D9 can do it, OpenGL CANT (see instancing).
About the only time this doesn't hold true is when something gets emulated in software, at which point you might as well go and make a cup of tea between frames.
Quote:

If OGL3 is released soon and not later. It will run on Windows XP (for those Nazi's). Direct3D 10 won't do that. Because Microsoft did that to get people to switch to the new operating system which I could understand.


Setting aside that right now OpenGL3 is a vapor-spec and that the ARB appear to be acting their normal 'pants on head retarded' with regards to communicating with the OpenGL users and getting shit done I'm not completely sure I buy this "waaaah! MS made us do it!" rubbish.

Consider; MS has a standard but it needs both AMD and NV to play ball on it. If either side had truely wanted D3D10, or even a subset (such as SM4.0) on XP it would have happened. Maybe the IHVs wanted it as much as MS? A clean start to do things right this time? Or maybe they knew their D3D10 cards wouldn't be that strong for the first generation and were happy with the D3D10 sticker on the box while being overspec'd DX9 cards (for example NV's lol-geoshader performace and AMD forgetting what highend even meant and forgetting to compete for half a generation).

Quote:

nVidia doesn't even support Direct3D 10.1. Only ATI. iirc nVidia does some of Direct3D 10.1 through extensions(wondering if they did or still going to)


And AMD doesn't expose ANY DX10 level functionality on XP either; there goes the dream of D3D10 on XP if one the card makers (with, right now, argueably the most attractive card on the market for price vs performance) doesn't give you a way to do it.

In closing on D3D10; if the IHVs were that bothered about it not being on XP they wouldn't have fluffed OpenGL3.0 in their normal stunning manner.

Quote:

Direct3D is only limited to Win32/MFC. OpenGL has win32/MFC, Qt4, wxWidgets, gtk,gtk+,GTKmm, SDL, SDLmm, etc. Your not limited to the bad api that Direct3D imposes you to.


Erm, those libs use Win32 under the hood and once again we are back on opinion because in Win32 space in my opinion they can all go suck a fat one and die.

It's not like you spend your time working with Win32 anyways in a game; throw up a window, shove in a message pump and BAM! Job done.
If you are doing GUI work, well in that case grab a copy of C# and host your D3D window in that; controls in a sane language, renderer with D3D.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this