Direct X11

Hello,

whos got something to show with dx11 on unity?

I do.

What exactly do you want to know? :slight_smile:

DX11 brings the ability to use DX11-specific features of a GPU, mostly compute shaders, much more flexible shader model (integer types, scattered writes, etc.), and hull/domain/geometry shaders.

I know a con: It only runs on DX11 enabled hardware :slight_smile:

Does this affect rendering path? and is it possible to get some sort of anti aliasing from deferred rendering I CANT DECIDE,… FORWARD RENDERING OR DEFERRED

is it possible to change from dx11 for other platforms other then windows?
will this improve performance on windows? if yes by how much? :smile::smile:

Is directx11 faster then 9, as in if i transfered a project from Unity 3.5 to 4.0 would i get a performance increase, decrease or would it stay the same(just with the renderer)

Thanks.

no doubt

But it is a pro if you have it.

DX11 is faster than DX9 in theory, but that depends on implementation.

This explains the benefits of DX11 in Unity in a nutshell. Ahhh, sometimes i miss university.

Back in the days without smart boards :smile:

I have always wanted to do that on my walls… when someone comes in say something like “I have figured it out… if one moves first and place the X in the center they cant loose tick tack toe!”

DX11 supports both forward deferred rendering, just like DX9 and OpenGL. Which one to choose mostly depends on which works better. Deferred works better with lots of lights; forward works better if you want more flexible shaders or “true” anti-aliasing.

DirectX as a whole only works on Windows, so no, it’s not possible to use DX11 on non-Windows systems. Just like it’s not possible to use DX9 on non-Windows systems.

“By three performance units”? From my tests, performance is about the same between DX9 and DX11. Both can use the same multithreaded renderer that we already have. With DX11 it’s possible to do more advanced rendering techniques, if you want to.

Doesn’t DX11 support MSAA in deferred? I thought that was one of the cool features besides tessellation.

Actually, D3D11 itself doesn’t require that; you can create an ID3D11Device using D3D_FEATURE_LEVEL_9_1, and it’ll work with Direct3D9 devices (though trying to use features that can’t be done on those cards, like compute shaders, will throw errors). You still need Windows 7 for it, but I think there are some benefits to using the D3D11 driver pathways (e.g. better support for things like immutable resources) even if the hardware is D3D9.

So there’s a question: What feature level does the D3D11 code path request? Do Unity games on the D3D11 renderer actually require D3D11 hardware? Do we get D3D11.1 on Windows 8?

Currently, 4.0, 4.1 or 5.0.

We might make it works on downlevel hardware (9_x profiles) someday, but so far I haven’t seen much advantages in that (comparing performance with D3D9), and only some disadvantages. Major disadvantages: shaders become about 2x larger (since compiling shaders for 9_x actually produces two shaders inside, one for DX9-more-or-less, another for SM4.0), and there’s no way to sample depth buffer as a texture, which we use for deferred lighting other stuff.

So yeah, right now, they require D3D10 hardware.

I haven’t tried, so I’d assume “no”. Not right now, at least.

Mmm. I guess most of the advantages are really in terms of no longer having to support separate D3D11 and D3D9 code paths; but then again, you’ve still got to keep pre-Win7 support for now, and I guess one more code path to support isn’t much on top of everything else you’re presently doing :wink:

See, that’s cool. I don’t remember seeing that in the announcement anywhere. You should make a bigger deal out of it, that’s a whole generation of hardware there that I think most people will assume isn’t supported.

Fair enough. The ability to use UAVs in all pipeline stages looks like it’d be nice to have, plus the logops in blending, and maybe the discard-resource stuff, but there’s not a whole lot else on the list that looks too exciting.

Hi,
[

Thanks for the thorough and detailed explanations.](cslacker.com)

k

So, Unity 4.x games will only run on DX11 hardware, no DX9 profile?!?!?!?!

Huh? Why would you come to that conclusion?

–Eric

A slight bout of insanity that is what :p, now i reread the posts i understand.