Page 1 of 1

DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 4:08 am
by DmitryKo
From theWindows 8 Developer Preview Guide, page 24
Create immersive games using the power of DirectX

The new Windows 8 graphics stack is better integrated, making Direct2D, Direct3D, and DirectCompute components easier to use together and requiring fewer duplicated resources than before. Capabilities previously available only in XNA, such as DirectXMath, XAudio2, and XInput, are now available. For the ultimate experience in gaming and video, use DirectX 11.1 to bring stereoscopic 3D to your apps.

Share your thoughts - what does it mean, exactly?
1) Updates to the API and DDI (display driver interface) to natively support stereoscopic rendering,
2) an update to the SDK framework and documentation which makes it easier to implement a stereoscopic rendering engine, or
3) just the acknowledgement that stereo 3D has become a significant part of PC game development, with no real changes to the API or the SDK?


More details on DirectX 11.1 and Direct3D 11.1 should be available in the coming days; check the list of sessions from the Windows BUILD conference.
http://www.buildwindows.com/" onclick="window.open(this.href);return false;
http://channel9.msdn.com/Events/BUILD/B ... t=graphics" onclick="window.open(this.href);return false;

Re: DirectX 11.1 supports tereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 5:26 am
by Likay
My guess is no 2 but time will show. Nice find and anyway it's good to see some acknowlegde from microsofts side. :P

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 8:43 am
by Fredz
I guess it will be 1), as has been the case for Directx between version 3 and 7 in the past. At this time nobody implemented stereo 3D using this API, but it may change now.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 10:14 am
by DmitryKo
A historical note. DirectX 7 (which was released in 1999, at the height of popularily for LC shutter glasses running on analog 100 Hz CRT displays) had some rudimentary support for stereoscopy, including quad-buffer swap chain and stereoscopic surfaces in DirectDraw 7 (which was separate from Direct3D at the time).

These features were deprecated in the DirectX 8 SDK, however type definitions survived into Direct3D 9.

http://msdn.microsoft.com/en-us/library ... 85%29.aspx" onclick="window.open(this.href);return false; (3DBACKBUFFER_TYPE enumeration)
http://msdn.microsoft.com/en-us/library ... 85%29.aspx" onclick="window.open(this.href);return false; (Automatic Stereo test)
http://ironicresearch.com/stereo3d/algo ... l#Direct3D" onclick="window.open(this.href);return false; (some historic bits)



The stereo gaming community would benefit most from the changes that incorporate full-featured stereo support to the core of the runtime, and make stereo-optimized hardware rendering possible - not just a stereo frame buffer (the quad buffer) and stereo surfaces which have already been implemented by for Direct3D by both ATI/AMD and Nvidia iin the form of AMD Quad-Buffer SDK and Nvidia NVAPI (though in reality they are more like back-doors through the Direct3D runtime to the display driver), not to mention that OpenGL has had quad-buffer support for ages.


Some past (and quite heated) discussions on native stereo support in the rendering API:

Re: Zalman drops Nvidia stereo driver support for new monitor
Re: Zalman drops Nvidia stereo driver support for new monitor (2)

Compulsory S3D support in Direct3D 11.1
AMD Demonstrates Blu-ray Stereoscopic 3D Playback at CES '10

S-3D Gaming Alliance (S3DGA) Announced
etc.


PS. I also have a hands-on review of Samsung S27A950 stereo monitor, which I hope to post over the weekend.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 12:19 pm
by Fredz
The problem is that this new stereo API may be too little too late. Major manufacturers (NVIDIA and AMD/ATI) have already implemented stereo 3D in their drivers in a non-standard way. I really see no incentive for them to now adhere to a standard API, especially considering the little war we've seen recently about the last Deus Ex iteration. Minor manufacturers like Intel could be interested, but since they don't really fight in the same category I really doubt it'll have any impact on us. Time will tell...

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 1:54 pm
by PalmerTech
Fredz wrote:I really see no incentive for them to now adhere to a standard API
I agree with you, but I think that DX11 supporting S3D could result in a lot of developers optimizing their games for that solution (Since it would serve both AMD fans AND Nvidia fans. Bigger market = bigger incentive to go with a standardized solution. And to be honest, I think AMD would be happy to end their own 3D initiative. It seems like it was only started so they could keep up with Nvidia, and Nvidia only cared about 3D so they could sell their expensive glasses!

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 3:01 pm
by Fredz
PalmerTech wrote:I agree with you, but I think that DX11 supporting S3D could result in a lot of developers optimizing their games for that solution (Since it would serve both AMD fans AND Nvidia fans.
They've already been able to optimize their games in S3D since at least 2005 with the release of the NVIDIA stereo API, and more recently with the release of the AMD stereo API. But we can't say that they've done it in masses, although S3D has been pretty much popular for the past 2 years. Even Crytek which is quite an important studio didn't get it right with Crysis 2. I think game developers support will happen only if AMD or NVIDIA start supporting this API, because standards have a value only if manufacturers implement them. I'm waiting for an announce from NVIDIA or AMD about that, but without much hope.
PalmerTech wrote:I think AMD would be happy to end their own 3D initiative.
That's possible, but by doing so they would be at the same level than other players in the field like Intel. By keeping their proprietary solution they are only in competition with NVIDIA.
PalmerTech wrote:It seems like it was only started so they could keep up with Nvidia, and Nvidia only cared about 3D so they could sell their expensive glasses!
I quite agree for AMD, but I'm not so sure about NVIDIA. They've made their stereo driver freely available since 2001, that's not as if it has costed them that much money to develop it.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 5:44 pm
by cybereality
I think this is great news, if it is indeed what I think it is. Namely the the API will expose ways of rendering stereo 3D in a controlled, standardized manor. Hopefully it is done well and is easy to use. But at the same time, it could even be a bad thing. Look at what has happened in the last few years after we starting getting developer support. We've had "Nvidia 3D Vision Ready" games where developers disabled convergence, and made a watered down 3D experience in some cases. We've had developers choosing proprietary implementations (ie Deus Ex) only to break the game (or sabotage it) with other solutions. I think some of this sabotage was also found in Crysis 2, where AMD was supported but purposefully disabled in the game (users were able to use develop commands to re-enable support). But if there was a industry-wide standard in DirectX, then maybe we could avoid this. I also imagine both Nvidia and AMD will make sure they support this.

@PalmerTech: Nvidia has been a pioneer in this field for over 10 years. I don't think selling the glasses are their only interest. They are also using it as a value-add and for branding, like with PhysX or CUDA. Also, now that HDMI 1.4a is popular they do support a number of different displays, most of which use other companies glasses.

@Fredz: I do agree that developers have been slow (lazy and cautious) about supporting 3D in the past. There have been APIs to use, they could have implemented native support, or at least optimized it for use with 3D drivers. For the most part they have not seemed to care. I think this was mostly because the market was too small to be worth spending the time to do this. Now the market it much larger, so it makes more sense to do this. Especially if someone like Microsoft can make it easier for devs to implement themselves.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Wed Sep 14, 2011 7:01 pm
by Fredz
What I fear is that they won't care more in the future than they do care now, I don't think a DirectX stereo 3D API will change anything. OpenGL has had this kind of standard API for decades and nobody used it in the mainstream (only pros). The good news is that Microsoft is starting to care, and if they go into all this more seriously this could change things considering they are the 800 lb gorilla in this field.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Sat Sep 17, 2011 8:34 am
by DmitryKo
Microsoft has released preliminary documentation for Windows 8 on MSDN, as well as several white papers, presentations and code samples.

Windows Driver Kit - New for Display devices (WDDM 1.2)
DirectX Graphics and Gaming - DXGI 1.2 Improvements
DirectX Graphics and Gaming - Direct3D 11.1 Features

Windows Display Driver Model Enhancements in Windows Developer Preview (white paper on WDDM 1.2 and Direct3D 11.1)

Direct3D 11.1 Simple Stereo 3D Sample (StereoSimpleD3D.cpp)


Unfortunately, it's neither option 1), nor option 2), just the implementation of the quad-buffer in the kernel-mode graphics driver (DXGI); there are no changes to the higher-level Direct3D API or the SDK tools which facilitate stereoscopy (except for stereoscopic video support in Direct3D and Media Foundation).


Basically, DXGI 1.2/WDDM 1.2 now allows creating stereo swap chains (structures that present render targets to the display) and querying stereo display modes, and also brings about some minor improvements such as windowed stereo support. The approach is similar to that of ATI/AMD, when the driver provides the infrastructure by working with compatible displays, and the application has to explicitly render the two stereoscopic views into the L/R frame buffer (including "stereo middleware" drivers like TriDef or iZ3D which intercept Direct3D calls from the application).

Stereo 3D support is optional and only possible on Direct3D 10 class of hardware.

The code sample is written for WinRT (Metro style apps), but Direct3D 11 parts are quite straightforward.


By the way, new Windows 8 systems require WDDM 1.2 display drivers; they must work correctly with the Direct3D 11 runtime and must implement certain Direct3D 11 driver interfaces like cross process sharing of texture arrays, even if they only expose Direct3D 9 or Direct3D 10 display driver interfaces.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Sat Sep 17, 2011 9:31 am
by cybereality
So all this is doing then is providing a back-buffer to place rendered frames. The developer would still be required to implement their own stereo camera system, and the graphics card vendors or 3rd parties would be needed to provide support for specific display hardware. Its great MS is moving forward with support, but I just can't see this changing the landscape all that much.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Sat Sep 17, 2011 10:52 am
by DmitryKo
cybereality wrote:the graphics card vendors or 3rd parties would be needed to provide support for specific display hardware
Not quite. As it is currently implemented, specific stereo hardware must be supported in the kernel mode by the video card driver, as it is naturally a "display driver" in the Windows OS architecture so it must support both graphics cards and displays. So any 3rd party who needs to implement support for their specific hardware must team with GPU makers.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Sat Sep 17, 2011 2:39 pm
by cybereality
DmitryKo wrote:So any 3rd party who needs to implement support for their specific hardware must team with GPU makers.
This still sounds like its going to have problems (for example, Nvidia charging their tax to "certify" specific hardware). But its at least a step in the right direction.

Re: DirectX 11.1 supports stereoscopic 3D gaming and video

Posted: Sun Sep 18, 2011 12:53 am
by LeeN
Providing back buffer support is probably the best thing since most game developers have their own camera system and it is highly likely to go through custom shaders anyway. This is also basicly what LG provides to developers for the Optimus 3d.

I wouldn't compare this to OpenGL, quad buffers were only officially available on expensive high end professional video accelerators, which was also limited by the display technology of the time. And opengls popularity amongst game devs is only recent due to iOS and Android, prior to this it was only used by a few developers (Id tech) and many of those games do support stereo scopic 3d (I've experimentally modified both android ports of Quake 2 and Quake 3 to enable stereoscopic support for LG Optimus 3d), the driver support was just never there.

I think that this will be different as developers are started to want to support stereoscopic 3d and console systems are supporting it as well as the HDMI standard and TV sets.