Will the Lack of DX10 on XP Spur OpenGL Dev?
Sparr0 asks: "Microsoft has announcement that DirectX 10 will not be released for Windows XP (which means no Shader Model 4.0 and no Geometry Shaders). I have since been waiting for news of game developers switching to OpenGL, in order to get the best graphics on the best hardware on the most popular gaming OS, however there is nary a whisper of such. Will such a shift occur, even if only in small amounts? When? Why not? It is probably safe to say that Unreal Tournament 3 (AKA UT2007) will have OpenGL as an option in Windows, but that is both unsurprising and also a long way off. Ditto for Quake Wars, and most other games that are planning a native Linux clients. Where are all of the other big names with Windows-only offerings? Why haven't we heard from Valve, Blizzard, Sony, or EA, to name a few?"
Win XP doesn't have DX10, and Vista doesn't have OGL... Whatever you use, you're doomed
You must be new here :)
DirectX has a LOT more functionality than OpenGL.
Now mayhap the OP is writing about Direct3D... in that case, even DirectX 9.x's version of Direct3d features a LOT more functionality than OpenGL's most recent revision contains.
In a word, NO.
Unfortunately, most game developers will probably continue writing for DX9.0c until the majority of users are running Vista and have DX10 capable video cards.
The exceptions, as listed in the summary, will be those developers that intend for their games to be cross-platform and run on Linux and OSX as well as Visa.
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
XP might be the most popular gaming OS at the moment, but the video cards in most computers with XP are likely going to be upgraded simultaneously with everything else (including the OS -- to Vista). The video cards most folks have in their machines aren't so hardcore that DX10 is very critical. By far most of them don't support it anyway.
Though I may have misunderstood the question...
I like basketball!!1!
DX9 should be enough for anybody . . .
Seriously, I doubt that companies like Valve will switch to OpenGL for winxp releases. They already have extensive directx know-how and will probably just build in DX9 and DX10 support just like they currently build in support for DX7, 8 and 9.
In the end, most people will upgrade to vista. Either because they want to or because they need it for a certain program to run or simply because it came pre-installed on their shiny new Dell. It is inevitable.
I think that a lot of what is going to happen out there is going to be like John Carmack said. I think that overall, you are going to see developers stick with DirectX 9 for the time being. I think this is especially true for Windows only games.
The fact is that if you are developing Windows games, why would you support two APIs when you could support a single one and D9 users would just have to deal with not having the latest bells and whistles? And this doesn't even take into account that D3d is now a more advanced API than OpenGL (which has been mentioned already).
RonB
It is human nature to take shortcuts in thinking.
It is my hope that maybe, just maybe, this could spur developers to, instead of focusing on making a visually cutting-edge game using the latest and greatest hardware and APIs, start to focus on trying to make the most fun and innovative possible game using the "previous gen technology", if you will. Not to say that both can't be achieved, but I would say that invariably games tend to focus on one in favor of the other.
Future indie game developer of America (and possibly Canada)
If game developers started moving towards OpenGL Microsoft might release DX10 for XP. They will do anything to prevent something else from gaining a foothold.
Libertarian Leaning Political Discussion Forum.
Where are all of the other big names with Windows-only offerings? Why haven't we heard from Valve, Blizzard, Sony, or EA
Sorry, but only one is windows only. Last I checked, World of Warcraft, Warcraft 3, and Diablo II run on Mac. And in the case of WC3, the CD has a Mac and windows version on the same CD. Amazon.com tells me that EA's #1 game (The Sims 2) also runs on the Mac. Can anyone tell me a Windows game Sony makes? The only windows software I can think of is SoundForge and their CD DRM, but the latter I don't think I want to work cross-platform;) That leaves Valve, which is run bun a former MS hotshot, so I think that might have something to do with the company's founder preferring Direct3D.
I think many developers are already using OpenGL, but of course, that's only one part of being cross platform. Network, sound, and input also need to be implemented cross-platform....
-- Political fascism requires a Fuhrer.
Most Games DEVs have already mentioned in various places that they intend to handle the situation at least for now with two render paths, one optomized and used for DX10 and one for DX9.
Remember that Vista doesn't automatically confer DX10 either you need a card that supports DX10 and those are VERY new still the installed base is still mostly DX9 cards reguardless of OS. There are still some users running on DX8 cards as well, which are still well supported in many even new games. The Source engine is even compatible back to DX 7.
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
Microsoft has announcement...
How are you gentlemen !!
All your base are belong to us.
No trees were harmed in the posting of this message. However, a great number of electrons were terribly inconvenienced.
Some developers do parallel development in DX9 and OpenGL anyway. Perhaps for increased portability options such as the desire to have an OSX port. You mention Blizzard yet they have already done this. Take Warcraft III for example, the default rendering is of course dx9 but adding the -opengl switch to the command line toggles it over. The game mostly looks the same, although I have to say the fonts look a lot uglier / jagged for some reason. My guess is dx9 must have some sort of font smoothing option that either was not used or perhaps is not present in OpenGL.
As far as input in the windows arena, that area is pretty much fully dominated by DirectX. Even ID Software, who do a lot of work using OpenGL are still using DirectX for DirectInput and DirectSound in win, even if they don't use D3D.
Fear is the mind killer.
Just for your information, the GLORIOUS wine project will eventually have a reverse-engineered implementation of the DX10 API, for all the UNIX flavours it supports, AS WELL AS WINDOWS. Check it out... http://winehq.com/?issue=325#DirectX%2010%20For%20 SoC?
Short quote:
"Jokes aside, there aren't any dx10 apps yet, except some demo apps. The first one to be expected is Halo 2 on April 24th afaik. The only thing is that MS has created some hype around dx10 recently. It would give us some nice publicity if the Halo 2 box states "Runs on Windows Vista and higher" and winehq.org says "Runs Halo 2 on Linux, MacOS, Windows XP and earlier"
OpenGL has outlived it's usefulness for gaming.
It'a tool for programmers, researchers and the CAD industry now.
There's just too many bells and whistles in DX.
The lack of DX10 support for XP will certainly slow the uptake of DX10, however. I bet most development over the next year or two will be in DX9, with a DX10 "bag" hanging off the side.
I don't need no instructions to know how to rock!!!!
And apparently Vista will spur OpenAL adoption, as that's the only way to get around Vista's brain-dead DRM'd audio architecture and get hardware acceleration under Vista. That's straight from Creative's website detailing Vista's new audio architecture's effects and recommendations, btw. (Whatever you may think about Creative, you can't argue with their analysis on this one.)
The cesspool just got a check and balance.
DX10 is going to be just like DX9 and DX8 before it. In reality we are mostly concerned with the Direct3D portion of DirectX since the rest is more stagnant. When DX9 libraries and later hardware came out developers simlpy turned on the options now supported or speed up the game. The game would interogate the card to see what features and how well they were supported and went on from there. The same will happen with DX10.
As for OpenGL getting a bump out of this, I doubt developers will suddenly add an OpenGL renderer. They will simply fall back to DX9. Other than a few MS first party games I doubt you will see any games requiring DX10 (Vista) in the next 18 months. Even the ones that do like Halo 2 were designed for a DX8 codepath and P3 733 originally so any machine with a DX9 card and P4 or better could support it. MS is simply restricting it to Vista.
Hoyty
...but is Microsoft going to have a 360 update in which 360 games can use some of the features that are in DX10?
It seems silly to me Microsoft would come up with something they think will be such a big improvement for games, and yet not try to get the same tech on the 360...or am I just showing my ignorance here...
Living With a Nerd
DirectX 9L (available for both XP and Vista, Aero runs on 9L, not 10) has more better support for the latest graphics hardware and more features than OpenGL.
The Xbox360 platform shares API details with both Windows and DirectX.
Unless you're seeking cross-platform compatibility and don't the latest and greatest feature, sure go for OpenGL.
In other words, Vista doesn't run well on my current hardware, XP does. Will this make me switch to Ubuntu or something? No, it won't.
The PS3 and the Wii both use OpenGL, as well as every Linux system. The xbox and windows use DirectX. So ANY game that is developed for two of the three consoles can use OpenGL and IS built with it. The fact that the developers use DirectX instead of OpenGL when bringing a game to the PC that they're also developing for console is a choice, not a technical limitation.
And all the big name titles will be cross-platform, you'll find them on at least the xbox and PS3 (if not the Wii). So what's the real reason that we won't see these games on windows using OpenGL? What's the real reason that game makers, who already have a game built in OpenGL, won't port it to linux and expand their user base? Return on Investment might be it for that, but it doesn't explain why they don't use OpenGL on Windows. There is no extra cost there, they already have the game with OpenGL.
While D3D 10 won't be making its way to XP, I don't believe they've ruled out the possibility of an update to D3D 9 adding the new features. Generally, such big features would be a new version number, but numbering schemes don't have to make sense when the marketting folks get involved. D3D 10 and how it works has much more to do with what functionality takes place where (hardware, kernal drivers, or userspace drivers) than what features are exposed. Its simply not possible to take the D3D 10 API and impliment it on the XP driver model without signifigant performance penalties -- If you push all the (Vista) userspace driver functions into a (XP) kernal driver, the overhead of switching from user-space to kernal-space so frequently will kill performance.
Much of the benefit of D3D 10 stems from the new driver model: fast context switching, minimization of the small batch problem, etc. Mind you, D3D 9 would require some signifigant updates to utilize the geometry shader (particularly because it sits between the current vertex and pixel shader stages. It can't just be tacked onto either end.) but there's nothing, technically, which would proclude the GS stage to be exposed.
If we don't see the new hardware features exposed in a D3D 9 update, it'll simply be because Microsoft didn't see any benefit in performing the extra work it would require of them.
As for spurring OpenGL on XP, I think it will. However, until the ARB (now Khronos) adopt an official extension, developers will have to provide seperate paths for each vendor's specific geometry shader extensions - Presuming AMD/ATI expose it in their GL drivers for their next gen cards.
Since they are owned by MS, they will follow company policy, which means DX10, which also means Vista only. How else is MS going to get all the hardcore gamers out there to upgrade to Vista? I mean, think about it, 10-15% performance hit is not something these people will accept. They tweak and tune and spend hundreds of dollars to get even that last 5fps out of a game. Going to Vista is not on their top of the list of things to do to make their games run faster.
So MS decided that since this was going to be the case (and they knew it early on in the Vista development cycle that there was going to be a large performance decrease), they made DX10 Vista only to force these people to upgrade to a product that they did not want.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
OpenGl is good because it's multiplatform and runs basically equally well on everything, that was at least, until vista. It isn't bad under vista but it isn't great. How much that can improve via drivers I don't know.
Directx, being windows only and reasonably easy to use has been a good tool for people making windows only apps. WoW being the only major exception, most games are windows apps first, and then, if they're lucky, ported to another OS.
The big selling point of shader model 4.0 is the geometry shader. Directx seems to be first out the door with useful geometry shader development tools, which more or less locks people into having vista for early adoption, at that point, why bother with OpenGl which may not run as well on vista etc... etc...? I'm not writing a D3D path and an OpenGl path in my engines, and nor would anyone else. That and most game developers already know D3D for the above 'it's what we use' reason, adding in geometry shaders is relatively trivial. Not that learning OpenGl is hard, I started with OpenGl and I think overall (largely the multiplatformness) makes it a superior product to DX9. But DX10 does stuff OpenGl 2.0 doesn't yet, and that's a problem. The apparently reduced performance of OpenGl under Vista, if not corrected/correctable is going to be a rather painful blow to any further OpenGl adoption. As much as it's nice to support a broad base, if 90% of my customers are using windows, I'm not going to sacrifice 10% performance for them to pick up that 10% of linux/mac users, since that will disenfranchise much of the windows base, and they'll buy games from someone who optimized for them. Nor do I want to disenfranchise the 10% of my base that uses vista (as compared to 80% using XP) since they're the 'bleeding edge' type people to begin with, and if they have bad things to say about my game compared to others, that's going to be bad in the long run.
The lack of DX10 (D3D10) affects nothing, as OGL2.0 offers nothing over D3D9 already. Pro game devs don't switch for ideological reasons. (Carmack used OGL because back in the day it was way ahead the half-assed D3D, etc.)
anyone wants to comment about the future (and past) of the sdl games library?
OpenGL is neat and a true standard - but no where near DX feature wise. What I expect is the ongoing XP & Vista lockin / registration / DRM / compliance annoyance MS introduces causing people to look for alternatives and turn to sub-par (compared to DX) OpenGL and work on improving the standard. It's not that OpenGL couldn't do the same thing DX can, it's only that people haven't had a reason in the last few years to do so. Plattforms are getting more diverse performance wise and people need to take a growing range of OSes that users have into account. This will undoubtly get attention back on to OpenGL and it's downsides. Unless, of course, MS licences DX for Mac OS X and Linux. Which would actually be a thing they really could do to turn a profit in a future world where OSS has won. Meanwhile we've got translation libs that turn DX calls into OpenGL stuff (Cedega and such) which is an ok intermediate solution imho.
We suffer more in our imagination than in reality. - Seneca
Moving to OpenGL implies that the OpenGL feature set is better than the Direct 3D feature set. I'm not sure this is true.
It's actually easier to just program for Direct X 9 and add enhancements for Direct X 10 ... infact this is leaps and bounds easier than reprogramming for Open GL. ... infact...
u dont REALLY have to program for Direct X 10 if you want to lets say, Boycott Vista / DX10 , then programming for Direct X 9 will still reach the massive audience ... and Open GL is still a downgrade compared to DX9.
Yeah, I'm just trolling
After you build an engine, how much work does it take to keep said engine relevant? Specifically, how much work must be done with the underlying graphics API?
It seems to me like it might be a good investment to create a good, solid, cross-platform engine (using OpenGL), and maintain that indefinitely. It may be harder to create initially, but I imagine it would not be significantly harder to maintain in the long run.
Don't thank God, thank a doctor!
Oh, you're not stuck, you're just unable to let go of the onion rings.
It seems like OpenGL is still the API of choice for content creation software like Maya and Direct3D is more popular for games. There is overlap of course, but in general it's true for the Windows platform. :D
Now that I think of it, 3D game assets are often created with OpenGL software like Maya, and the final game product is done with DirectX.
I'm a developer and I can safely say that Direct3D and Direct3D offer very similar functionality.
OpenGL is nicer, Direct3D is a bit more in direct contact with the hardware. Performance on a modern graphics card is also very similar (as it should be, it's not like they're really doing anything differently).
The main reason Direct3D is used more for games is that Microsoft goes around inviting game company bosses to lunch whereas OpenGL is a committee.
As pointed out, "DirectX" covers a lot more ground - sound, joystick input, etc. but you can easily use OpenGL for the graphics and DirectSound for the sound (I do it every day).
To answer the main question: "Will OpenGL start to replace Direct3D..."? I don't think so. I think most Direct3D9 users will go right on using Direct3D9 - there's nothing actually wrong with it.
No sig today...
I specifically did not want to "upgrade" to Vista any time soon. Previously Microsoft had indicated DX10 support on XP, so I did not buy Vista, and I didn't get a good video card because I figured I had to upgrade to a DX10 video card shortly. But now it turns out that I have to buy a new card anyway, and if I get a DX10 card and want to use DX10, I'll actually have to get Vista.
I've never been a big Microsoft hater... for example, when they stopped suppporting Windows 95, Windows 2000, and so on previously I thought they were well-timed. But I do not think this is particularly a good decision. Will it spur more people to upgrade to Vista? Maybe, but I think there will be a lot of pressure on game developers to develop primarily DX9 games, with maybe some extra DX10 options. But the subset of even high-end gamers who have both Vista AND a DX10 graphics card is going to be the minority for the next few years.
This situation exemplifies the reality of using Microsoft tools for any kind of development, not just 3D graphics. Use Microsoft dev tools, face vendor lock-in, non-portability, and rewriting your code every couple of years when they release a new iteration of their products and deprecate the old APIs.
I wrote some free Windows screensavers ( available at http://www.mounthamill.com/ ) using GNU dev tools (gcc, make, cygwin) and OpenGL. They work great on Windows XP and 2000. I can even build and run them on Linux although haven't made the effort to deploy them as Linux screensavers.
From my experience, any game developer could use OpenGL and free/open source tools to develop code. There is no graphics effect you can do in DirectX than you cannot do in OpenGL. A few specialized effects may be slightly easier to implement in DirectX. OpenGL is easier to use, in general. If you go with DirectX, you will be required to build a more complex engine to deal with differences between different Windows versions. You also will be required to shell out thousands of bucks to buy MS Visual Studio and associated dev tools (not to mention the cost of Windows itself.) Total investment to build a 3D graphics application using OpenGL and GNU tools, $0. Difference to users, none.
I assume all the developers who did choose the MS tools either had business motivations to be aligned with MS, or were targeting the X-Box and thus mandatory usage of DirectX. MS buys the companies that publish the most popular games (e.g. Blizzard, Bungie), forcing them to use the MS dev tools. If that's not sufficient evidence that the MS tools would lose in a fair competition, what is?
- Spike
Free Windows screensavers http://www.mounthamill.com/
Every time I look in the monitor
All these cracks in my security getting clearer
The past is gone
It goes by, like dusk to dawn
Isn't that the way
Every operating system comes with dues to pay
Yeah, I know nobody knows
where it comes and where it goes
It's somehow gotta be Microsoft's sin
That Lunix has to lose instead of win
Half my life
is in Slahsdot's hate-filled pages
Lived and learned from fools and
from sages
You know it's true
All these bugs come back to you
Sing with me, sing for the years
Sing for the laughter, sing for the tears
Sing with me, if it's just for today
Maybe tomorrow, the good lord will take another distro away
Yeah, sing with me, sing for the years
sing for the laughter, sing for the tears
sing with me, if it's just for today
Maybe tomorrow, the good Lord will take all of Lunix's flaws away
Dream On Dream On Dream On
Dream until your dreams come true
Dream On Dream On Dream On
Dream until your dream comes through
Dream On Dream On Dream On
Dream On Dream On
Dream On Dream On
Sing with me, sing for the years
sing for the laughter, sing for the tears
sing with me, if it's just for today
Maybe tomorrow, the good Lord will take another distro away
Sing with me, sing for the year
sing for the laughter, sing for the tear
Sing with me, if it's just for today
Maybe tomorrow, the good Lord will take all of Lunix's flaws away...
Lunix may never be ready for the desktop, but people can still dream, can't they?
Dream on, d00dz, dream on.
In an era with gadgets/portables everywhere many of these platforms support some form of OpenGL, or have an API very similar to it. Those include:
-Cell phones/PDA
-Wii/Nintendo DS/Playstation 3
-etc. And more popular devices I cannot say because I am under NDA.
And did you know OpenGL ES Shading language will be supported on mobile devices such as high end phones soon? I am not aware DirectX's high level shading language receiving wide adoption from device manufacturers, if any, on the mobile platforms. In fact, very few will support DirectX.
On the technical side, both OGL/DX are good as proven by the top games which are powered by them respectively. My only let down on the OpenGL side is the lack of an FX format, though that is being worked on from Khronos, along with other encouraging prospects. And by itself it is not essential.
Overall I choose OpenGL because I don't want to put all eggs in the 'directx basket'. Moreover, employment prospects (games and 3D applications) may be better due to OGL's wide adoption. I would be willing to go into scientific visualization, for example, rather than games currently.
Direct3D is probably more advanced but OpenGL is better based purely on portability. I don't care if my graphics look better or it is "easier" to program in Direct3D.
I want a bigger customer base, I want MORE customers and I want MORE MONEY.
This isn't 1995 with its "Sorry please download IE to view this page" BS. This is 2007!! Get with the program! Portability, interoperability and what operating system the customer wants to run your programs on is important.
We already use c++ for the majority of games why vendor lock it with a Microsoft only libraries?
The last thing I want is "Your game looks awesome but I won't buy it because it doesn't run on my system.."
ACK!!!