Some OpenGL 3.2 and Directx 11 questions

Hi, i need to make an article about direcx11 for chw.net, for that reason we send some questions to Microsoft, but i would like to make a expansion of the article comparing with opengl and have some expert opinion about it.

This is the questions send it to Microsoft (please excuse the grammar, the questions was send it in spanish, but i try to translated with my buggy english):

About Tesellation, what is the difference between Microsoft’s new implementation and the pre-existed in OpenGL with utility Librarys?
Whats the difference with the ATI implementation “Truform” from 2001?

Are you going to upgrade the XBOX 360 implementation of Tesellation?

What are the advantage of Tesellation for developers and for gamers?

Do we need a new GPU to support Tesellation?, can be activated on GPUs supporting DirectX 10?

About Compute shaders, what is the diference/advantage with OpenCL or CUDA?

Are you going to include some physics acceleration APIs directly or developers must programmed individually through Compute shaders generic APIs? If the answer is yes, whats others specific APIs did you include?

Are you working with developers of non-games applications like Photoshop to support Compute shaders? What’s the relation with .NET?

Do we need a new GPU to support Compute shaders?, can be activated on GPUs supporting DirectX 10?

About Multithreaded Rendering, which is the number of CPU limits for this implementation? Whats the hardware prerequisites: GPU, CPU, Chipsets?

A game must be rewritten to take advantage of it or is automatic?

About the new modes of texture compression, can be this implemented in DirectX 10 hardware? Can be this implemented in XBOX 360?

Whats characteristics of DirectX 11 only can be perform in new hardware with specific DirectX 11 support?

Compared with OpenGL 3.2, whats the advantages of the new DirectX 11, for:
the developers of games?
the gamer?
Professional applications?

Had you made some performance comparation between:
DirectX 10 and DirectX 11?
OpenGL 3.2/3.1 and Direct 11?

I would be very thanks full is i can heart your opinion about those subjects.

Thanks in advange and please excuse my bad english.

Compute Shaders will be 90% the same as OpenCL. As far as I know Compute Shaders will be available only on 100% DX11 compliant hardware (what is upcoming at the end of the year). In case of OpenCL it will be supported on all compliant hardware. That means most if not all DX10 compliant hardware will support it. That’s the first advantage of OpenGL/OpenCL.

Tesselation will be also available only on 100% DX11 compliant hardware even if ATI supports it for a while. Tesselation is somewhat more than TruForm but is already available on ATI cards since HD2000 series. In case of OpenGL is already supported by extension AMD_vertex_shader_tesselator. OpenGL always support features on partially standard compliant hardware as well via extensions, while in D3D usually you need full support or nothing. That’s another advantage of OpenGL over DX.

Talking about multithreading, well, OpenGL still has a long time to go. OpenGL supports some form of synchronization and other utilities which enable multithreaded rendering, while DX never had something like this before DX11. However, I have to say that as it seems DX11 will have much more powerful multithreaded support than OpenGL but I think OpenGL will evolve in this domain in the near future.

That’s all what first came into my mind based on your questions.

There are additional compute shaders models (4.x) for Direct3D 10/10.1 level hardware. But you would need new drivers and the hardware needs to support all features of this new models.

DX11 Tessellation is more advanced then what DX10 ATI hardware offers.

thanks

One more queestion … a OpenGL 3.1 GPU (like the new ATI 5870), is compatibly with OpenGL 3.2 with a driver update?

Can i said that a DX 11 GPU can support OpenGL 3.2?

Auto answers of the support in the ATI 5870:
http://techpowerup.com/reviews/AMD/HD_5000_Leaks/2.html
“Full DirectX 11 Shader Model 5.0, and OpenGL 3.2 support”

I suppose you can because DX10 GPUs support GL 3.2 already.

There has been about 6 month gap between GL versions now so GL 3.3 time is coming up. Not sure what features are planned for 3.3.

Can you tell me any example what the DX11 tesselation can do and current ATI hardware not? Don’t forget that not all hardware functionality is exposed yet via 3D APIs.

Hi, i was reading a little bit about Compute Shaders 4.0 and Compute Shaders 5.0 and get the impression that Compute Shaders 4.0 is comparable to OpenCL but Compute Shaders 5.0 is more comparable to CUDA (for example taking the shared memory size).

is this right?

BTW

(spanish)