OpenGL Now Natively Supported in Windows Vista

Status
Not open for further replies.

octave

Discoverer
Source: Dailytech

Performance to rival that of Direct3D

The problem with OpenGL was that it was never officially supported or evangelized by Microsoft. Of course, Microsoft has always advocated its own Direct3D driver model over OpenGL, but GPU manufacturers have long supported OpenGL in drivers. Many games and productivity applications still use OpenGL even today. With Windows Vista, Microsoft made it clear that OpenGL support would only work as a layer sitting on top of Direct3D. There was going to be translation involved and thus, a performance hit.

This week the Khronos group, which is responsible for developing and maintaining OpenGL, has released a report indicating that OpenGL support will now be natively supported in Vista without layering over Direct3D. Using standard Windows installable client driver (ICD), OpenGL will be fully accelerated and be fully compatible with Windows Vista's Aeroglass UI. In fact, Khronos says that by the time Windows Vista ships, Aeroglass performance on OpenGL will be superior to that of Direct3D. According to Khronos and NVIDIA:

Hardware overlays are not supported
Hardware OpenGL overlays are an obsolete feature on Vista
ATI and NVIDIA strongly recommend using compositing desktop/FBOs for same functionality
However, the OpenGL ICD drivers must still be downloaded and will not ship on the Windows Vista installation disc. Khronos said that NVIDIA already has a beta 2 ICD OpenGL driver available and ATI will release its own soon. If no ICD is present, Windows Vista will rely on the layered OpenGL mode by default and only offer basic functionality.
 
Im sure...this was inevitable....or else all those professional 3D video rendering and animation guys, wouldnt buy Vista in the first place. It was always in the pipeline to have native OpenGL.... MS just made people realize that OpenGL had to die soon.

With Dx10 in the wings and the excellent API that it has, all the physics stuff added to it....Im sure ppl will move to DirectX more quickly and forget OpenGL pretty soon!
 
OpenGL will not die a quick death. The guys who use it are not just gamers - the acadmic and industrial community is almost entirely on OpenGL and NOT DirectX.
 
I agree a lot of ppl use OpenGL....but I meant "MS wants" ppl to move quickly to DirectX.....and u have to agree DirectX has its advantages over OpenGL most of the times.
 
I don't know much about opengl vs directx. But in non-gaming markets, opengl has a truckload of advantages, not least being the availability on Unix.

Do you know why DirectX cannot compete with OpenGL for use by oil companies?

Well, oil companies are the biggest buyers of superdromes. They buy 128-processor itanium superdromes from SGI and HP among others. Unfortunately, Windows IA64 edition only supports 64. So you need to use, yipee!, Unix. On which DirectX sucks. In fact running Windows on a supercomputer is a questionable decision. I know they released Windows Compute cluster, but apart from Cornell University, I haven't heard of any major users (and they probably got it for free, most Universities do get amazing rates on such products)
 
sunbiz_3000 said:
I agree a lot of ppl use OpenGL....but I meant "MS wants" ppl to move quickly to DirectX.....and u have to agree DirectX has its advantages over OpenGL most of the times.

While I am not so good at such kind of technical stuff, the below info is what I make of all the developer talk regarding DX9 and OGL. Don't expect it to be 100% accurate though.

Unfortunately, DirectX is "compiler hell". DirectX prevents the use of 100% of the graphics cards capabilities, even if performance is decent.

For example, if you have to write a PS 2.0-level shader, in DX9 you must do these steps:

- Write and compile shader for PS 2.0 with Microsoft HLSL

- Write partial precision hints (to avoid crappy performance on GeForce FX cards)

- Compile to PS 2.0a and PS 2.0b for optimal performance on GeForce FX and Radeon X800 series (i.e. you need to write a separate shader)

- Compile to PS 3.0 for fastest performance on latest generation hardware

With OpenGL, you need to

- Write the shader, compile using GLSL

- Use partial precision hints

- Write a string to generate an OPTION which will automatically use NVIDIA/ATI/Other vendor-specific extensions to generate optimal performance for the respective graphics card, if these extensions are available. This way, only one shader is good enough for lots of hardware.

While the difference between DX and OpenGL main lies in the convenience to developers, some of the latest generation graphics cards are known to provide better performance under OpenGL rather than DX due to usage of some special features in this API (GeForce FX, GeForce 6, GeForce 7 and sometimes Radeon X1K series)

In the end it becomes a developer's choice. He/She may consider DX to be better than GL, or vice versa.
 
What you said about compiling is correct, but then arent developer's paid to optimise what they create. Compiling with the best arguments as well writing the most optimised code (here u gave PS3.0 as a very good example) is what makes performance better. Also mind you, NVidia's TWIMTBP (The Way Its Meant To Be Played....or whatever) teams help game studios optimise and spends some million dollars only for this...

ok...here is one thing that you can try....Write a "rotating small cube" program, rendering program in DirectX and OpenGL. Check out the FPS for both the stuff... Try optimising both max possible i.e. DirectX with PS3.0 and OpenGL 2.0. Try measuring the FPS......and 99% of the times DirectX graphics will give better FPS on desktop cards...I mean GeForce and Radeon cards.

You have Quadro cards and FireGL cards, that have better OpenGL drivers as well as some simple hardware touches that make OpenGL perform better. The university and Unix ppl would do best to buy these cards rather than desktop gfx cards.... Also I love OpenGL and am a big fan of Id studios (John Carmack.....Quake series creators and the Doom3 engine) for making games in OpenGL, but for Windows (most desktop users) DirectX performs better than OpenGL.
 
  • Like
Reactions: 1 person
What you said about compiling is correct, but then arent developer's paid to optimise what they create. Compiling with the best arguments as well writing the most optimised code (here u gave PS3.0 as a very good example) is what makes performance better. Also mind you, NVidia's TWIMTBP (The Way Its Meant To Be Played....or whatever) teams help game studios optimise and spends some million dollars only for this...

I agree, TWIMTBP and ATI's Get In The Game program makes things much easier for developers. However, the developer still has to spend more time writing shaders in DirectX than OpenGL.

ok...here is one thing that you can try....Write a "rotating small cube" program, rendering program in DirectX and OpenGL. Check out the FPS for both the stuff... Try optimising both max possible i.e. DirectX with PS3.0 and OpenGL 2.0. Try measuring the FPS......and 99% of the times DirectX graphics will give better FPS on desktop cards...I mean GeForce and Radeon cards.

While this is correct, what I meant to say by "better OpenGL performance on newer graphics cards" is that the GeForce FX, GeForce 6 and GeForce 7 and Radeon X1K series graphics cards have the stencil shadow volume acceleration as well as the technology which is popularly known as "UltraShadow". Both of these work the best only under OpenGL, and provide quite large performance boosts.

While games are moving away from stencil shadows and moving towards soft shadows today, OpenGL has this advantage over Direct3D.

You have Quadro cards and FireGL cards, that have better OpenGL drivers as well as some simple hardware touches that make OpenGL perform better. The university and Unix ppl would do best to buy these cards rather than desktop gfx cards.... Also I love OpenGL and am a big fan of Id studios (John Carmack.....Quake series creators and the Doom3 engine) for making games in OpenGL, but for Windows (most desktop users) DirectX performs better than OpenGL.

I would have to agree with you on this, at least for the newer games out there. When the code is properly compiled and 100% optimized, then I guess DirectX would perform better, except in cases where there are lots of stencil shadows.
 
  • Like
Reactions: 1 person
Darth_Infernus said:
While this is correct, what I meant to say by "better OpenGL performance on newer graphics cards" is that the GeForce FX, GeForce 6 and GeForce 7 and Radeon X1K series graphics cards have the stencil shadow volume acceleration as well as the technology which is popularly known as "UltraShadow". Both of these work the best only under OpenGL, and provide quite large performance boosts.

Yes....... UltraShadow was definately a very good feature...and I remember how the FX cards suddenly improveed performance of the graphical Folding@HOME application (DNA folding distributed computing --> a really nice tool...and that of us should contribute to, once in our PC lifetime)

Darth_Infernus said:
While games are moving away from stencil shadows and moving towards soft shadows today, OpenGL has this advantage over Direct3D.
One thing that DirectX has advantage is that mutiple apps can use the same engine simultaneously.... If u know...what I mean then 2 OpenGL apps can't work simultaneously (although there are workarounds that can be tedious). For an example for this...I would advise all ppl to try out the XGL desktop that comes with Suse Linux 10.1 (mayb other distros also have it!!)...Its OpenGL based and does some really neat work...

But I think for windows...DirectX performs better and has better API.... we also need to consider the features in Dx10 for Vista!!
 
KingKrool said:
where is chaos during all this?

Frankly speaking... both are painful.. DX a bit more so. There is still no standard on windows for OpenGL 2.0 so you much use *yuck* ten thousand different extensions. DX10 has lots in store in terms of programmer comfort :P. Or so I hear from the dude who designed most of the API. In terms of performance, there's no single standard... ATI does better in DX, nvidia does better in GL. @Darth: Compiling shaders is less than a minute's job in eithers and everyone uses HLSL these days... no one writes assembly. The major pain is the rest of the stuff :P and interfacing hehe.
 
Chaos said:
Frankly speaking... both are painful.. DX a bit more so. There is still no standard on windows for OpenGL 2.0 so you much use *yuck* ten thousand different extensions. DX10 has lots in store in terms of programmer comfort :P. Or so I hear from the dude who designed most of the API. In terms of performance, there's no single standard... ATI does better in DX, nvidia does better in GL. @Darth: Compiling shaders is less than a minute's job in eithers and everyone uses HLSL these days... no one writes assembly. The major pain is the rest of the stuff :P and interfacing hehe.

I think you have said it perfectly...about Nvidia doing better in OpenGL and ATI doing better in DirectX (but its compared to the other company)...

I guess Choas, you would like to play with.. DirectX10 SDK (still beta): Download details: DirectX SDK - (August 2006)

Some more info about help with programming in DirectX 10:

The API is very much simplified and includes SM4.0 which I have tried on Vista :hap2: ...and helps create amazing realistic shadows... and while doing I was wondering how did Crytek do those amazing things in Crysis with Dx9 :S
 
Status
Not open for further replies.