"GeForce And Radeon Take On Linux"

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

nullpointerus

Golden Member
Apr 17, 2003
1,326
0
0
Originally posted by: bersl2
Originally posted by: tuteja1986
Originally posted by: bersl2
Originally posted by: aka1nas
Originally posted by: xtknight
I'm not sure why OpenGL is not more used. Does Direct3D support something that OpenGL doesn't?

OpenGL has had a rough time getting new technologies like shaders implemented into the standard API in a timely manner. Mainly this has to do with the fact that it is an API designed by commitee, with all the plusses and minuses that entails. MS has managed to be more aggressive with adding new features to DirectX and has managed to swing a lot of developers to coding in DirectX only.

OpenGL has a system of extensions whereby those who implement OpenGL can add new operations outside of the core. Although this leads to many extensions that do the same thing, a library such GLEW and a little bit of simplifying abstraction can make drawing operations seamless; and unlike with D3D, IIRC, OpenGL operations are permitted to be implemented in software, so that fallback for simple operations is possible. Basically, OpenGL lets hardware companies be hardware companies instead of being design slaves to a single software behemoth.

Thats a lie :(

If you remove the pathos from the argument, it's not a lie. D3D must be completely hardware-accelerated (IIRC), and adding hardware to accelerate drawing operations outside of those designated by that specification, controlled absolutely by a single entity---especially the one that has the monopolist's tight grip on the desktop computer---tends not to be a useful move. This can be seen (and I do see it thus) as a limiting factor on innovation. This can be circumvented by increased use of and support for OpenGL with its system of extensions.
It's definitely not required that D3D be completely hardware-accelerated. Ever heard of the reference rasterizer? What you might be thinking of is that certain operations simply aren't feasible to be implemented in software, so if the hardware doesn't support it, that's tough. Try doing 8x FSAA in software, for example. When you're building a 3D game engine, you simply must query hardware support for some things. It's probably the case that game companies also overstate their requirements a bit because their budgets get stretched enough as it is.

From what I've heard, OpenGL dropped the progress ball ages ago and was largely cast aside much like XFree86 was cast aside for X.org. (IOW, I'm saying that the XFree86 license issues were just the straw that broke the camel's back.) OpenGL is run by a committee, and their priority isn't implementation of gaming-related features. Game companies are in business to sell gamers the latest and greatest, and they're not going to sit around idle for months while some committee debates the fine points of spec. implementation. DirectX is designed for games and little else, period.

Please, if you want to object to strong emotional language like "slaves", that is perfectly reasonable; but don't say that it's a lie that Microsoft is the one dictatating a large chunk of what they think a video card should be to the hardware companies.
I think that statement is inaccurate and misleading. Basically, I object to your use of the word dictate. It is true that Microsoft determines the DirectX spec. - after all, it's their spec! - and it's also true that the hardware companies implement the spec., but that's how specs. work. A spec. is not useful if no one implements it. But it's also not useful if it doesn't implement what game developers need to sell their games. Microsoft takes input from the game developers and hardware companies about what's feasible and what's not, then merges it into a spec. in a manner resembling seamless integration. By contrast, dictation is one-sided.

If you object to one company "owning" this spec., that's up to you, but IMO it's due moreso to IP licensing issues than to laziness on the part of game developers. Microsoft can sign the NDA's required to get direct access to the technology of ATI and nVidia's latest and greatest; open source developers won't - and likely can't. So they're stuck reverse engineering modern hardware and implementing specs for yesterday's hardware. That simply makes it impossible for the penguins, daemons, and certain ducks masquerading as daemons to implement a spec comparable to D3D in the same timeframe.

EDIT: Fixed a typo.
EDIT: Fixed a more serious typo. (need more cocoa)