Hey guys,
I am working on a UDK PC game and wanted to get the verdict on DX11 from someone who is very familiar with it.
Basically, ive heard alot of bad things, and some good things. I understand it works from a feature standpoint, but is it integrated well enough for it to be applicable on a full scale game?
Features id really like to get from it..
-Tessellation: How performance friendly is it in UDK? Can the triangle count be lowered to a reasonable amount while still getting decent sillohuet changes? Does it LOD properly? Does it crash? Ideally it would only be used spraingly for things like brick walls that really push the shape.
- Reflections and shader features: Things like Image Based Reflections and Sub Surface Scattering. How well do they work, are they borked?
What other features work well and which dont? When i switch my UDK from DX9 mode to DX11 it goes from 90 FPS to 45 FPS with no DX11 features turned on. Is that common?
I know a few games have used DX11 with UE3 successfully such as Blacklight: Retribution and Batman Arkham City. Is it really not applicable to use in a current gen UDK/UE3 game? Is it more of a failed expirement, only useful for portfolio shots and the like?
Any feedback appreciated, thanks!
Replies
http://www.docstoc.com/docs/150124518/The-Technology-Behind-the-DirectX-11-Unreal-Engine----Nvidia
For a personal short opinion run down of the features you named i have to say.
Tessellation is something that can come in handy but tbh a skilled character artist can create characters that don't need tessellation to look stunning, same applies for environment artists.
Image based Reflections are dope and can massively improve the scene!
Sub Surface Scattering is nice but can also be "faked" quite believable with DX9. There are some topics about it here on polycount.
Hope it helps a bit to get you started, as i said before it's quite a huge topic but at the end it all comes down to optimization.
Unfortunately this is very commen. Depepends on your level/scene but espacially with lots of masked material (-> foliage) FPS can go down by 40-60% easily. There is just on case where DX11 is faster or equally and this is with multiple dynamic (non-shadowcasting) lights.
As for tessellation there is adaptive screen-space adjustment but it's quite bad implemented. Subdivisions are constantly increasing so that the surface is somewhat wobbling all the time as you get closer. And it goes up upto the highest level (you can't limit the max tessellation factor) which means low FPS with many gfx cards.
If you really want to use tessellation I suggest to get an older UDK build, pre august 2011. 06-2011 is still available: http://download.udk.com/UDKInstall-2011-06-BETA.exe
These older versions don't have adaptive tessellation. You can directly set the number of subdivisions and create materials that lower the tessellation factor based on distance. The drawback is that crackfree displacement is missing here so you end up with gaps across UV seams.
as far as my experience with DX11 goes in UDK, I'd say it falls an unfinished experiment as you say. good for portfolio showcase but not suitable for final game production
This - the implementation is pretty half-baked and quite unreliable. While it may work nicely for some users, others may experience things like nasty artifacts. I personally wouldn't use Dx11 in a UDK game.
Dynamic distance-based tessellation factor is possible in last UDK build too. I'm using it right now
Oh, understood what you mean. Can't say nothing, it's ok for me.
here's thread I made in the UDK forums about it, where I explain and show my problems with DX11 (tesselation and shadows). as with anything I post in the Issues subforum, it went ignored by the devs
also if I apply a material with tesselation to any of my meshes in-game, I'm forced to re-import the mesh first or UDK crashes bigtime