Home General Discussion

Direct X11

polycounter lvl 18
Offline / Send Message
Parnell polycounter lvl 18
Buddy just sent me some of these.
I've seen some of this tech in the past but it's awesome to actually see this start to trickle into the next wave of game engines. I'm still not sure how much will actually make it into games since these are just demos. Still, it's very cool to see!

[ame]http://www.youtube.com/watch?v=bkKtY2G3FbU&hd=1[/ame]

more here:

http://www.neogaf.com/forum/showthread.php?t=377758


I figure they are just using a displacement map to tessellate models. Anyone starting to dabble in this tech?
I'd be interesting in hearing/seeing more.
Thanks!
B

Replies

  • aesir
    Options
    Offline / Send Message
    aesir polycounter lvl 18
    that dragon had some pretty extreme extrusions for just a displacement map.

    Looks cool though. I think we're usually about 4 years behind the tech demo curve in games.
  • Parnell
    Options
    Offline / Send Message
    Parnell polycounter lvl 18
    Dirt 2 is implementing Direct X11 stuff. I mean it's obviously just an add-in however slowly but surely games are starting to use these features. I agree it's about 3-5 years before this stuff is common place. Most likely once the NEXT next gen consoles come out this stuff will be standard.

    http://www.gameslave.co.uk/newscomments.cfm?news=8437&title=Colin-McRae-DiRT-2-Direct-X-11-Media

    B
  • nrek
    Options
    Offline / Send Message
    nrek polycounter lvl 14
    Some cool stuff they are using it for in Dirt 2.

    http://kotaku.com/5387606/this-is-why-dirt-2-pc-was-delayed

    Edit: Bahh Parnell, you are too quick!
  • Calabi
    Options
    Offline / Send Message
    Calabi polycounter lvl 12
    Wow its like a whole new world of 3d. And you really can notice it for those that were saying you cant and it isnt worth it.

    The water in Dirt 2 is getting so good you almost dont notice it.
  • vargatom
    Options
    Offline / Send Message
    Er, it's like this:
    - tesselation adds more vertices
    - displacement moves existing vertices

    So it's like, tesselate first, then apply displacement mapping.

    I don't really expect it to become widespread until the next generation of consoles gets released; they should have support for the tech so it can be the new standard. Tools need an upgrade to get there, too... 3dsmax / maya plugins and viewport shaders, etc.
  • John Warner
    Options
    Offline / Send Message
    John Warner polycounter lvl 18
    interesting. I wonder how expensive it is.
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Yep, looks good. I look forward to using tessellated stuff in games in a few years.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Years? Now! I want it NOW!
  • Parnell
    Options
    Offline / Send Message
    Parnell polycounter lvl 18
    vargatom wrote: »
    Er, it's like this:
    - tesselation adds more vertices
    - displacement moves existing vertices

    So it's like, tesselate first, then apply displacement mapping.

    I don't really expect it to become widespread until the next generation of consoles gets released; they should have support for the tech so it can be the new standard. Tools need an upgrade to get there, too... 3dsmax / maya plugins and viewport shaders, etc.

    Ahh thanks!
    B
  • Keg
    Options
    Offline / Send Message
    Keg polycounter lvl 18
    Confusion that I have is what is supported on DirectX 10 hardware and what will only be available on DirectX 11 hardware. Best info I have been able to find is that certain DX11 features will be available to DX10 hardware.
  • Joshua Stubbles
    Options
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    interesting. I wonder how expensive it is.

    Considering the shitty framerate in Dirt2, I'd say probably pretty expensive.

    There's also a difference in tessellation and straight up waste. A lot of that geometry is complete waste. Take the bricks in the buildings for example. The face of the brick doesn't need to be like two thousand triangles and it certainly doesn't need to be some wonky geoformed mesh.

    The animated flag and cloth geometry doesn't look any different to me TBH. It has more geometry which, isn't noticeable when you're actually you know, DRIVING, like you're supposed to be doing. The post processing stuff also doesn't look any more advanced that what's already been done in DX9/10.
  • ScoobyDoofus
    Options
    Offline / Send Message
    ScoobyDoofus polycounter lvl 19
    So I guess future game models should be modeled in quads afterall... :P
  • Junkie_XL
    Options
    Offline / Send Message
    Junkie_XL polycounter lvl 14
    I'm a bit confused on the subject of tessellation. Does DirectX11 just magically move more polys now?

    I guess what I'm getting at is, instead of guessing what the outcome of a displacement map will be, can we just model with a lot more tris now? Because I'd rather do that then monkey around with displacement maps and hope for the best that certain areas pop out like they should.

    That would be pretty cool if we didn't have to concern ourselves much with retopo anymore. Just use your level 2 or level 3 zbrush sculpt and bake your normals into that since more polys can be moved now?
  • aesir
    Options
    Offline / Send Message
    aesir polycounter lvl 18
    no, it calculates how to subdivide the polys in game. Like putting a meshsmooth on something. It doesn't let you use more polys. It does that so the displacement map has enough polys to work with when it deforms something.

    at least how i understand it.
  • Junkie_XL
    Options
    Offline / Send Message
    Junkie_XL polycounter lvl 14
    aesir wrote: »
    no, it calculates how to subdivide the polys in game. Like putting a meshsmooth on something. It doesn't let you use more polys. It does that so the displacement map has enough polys to work with when it deforms something.

    at least how i understand it.

    The amount of tris is still the same amount of tris an engine has to think about to move I'd think. It must have something to do with less points needing to be loaded into memory? Kinda like how Turbosmooth on a mesh is a much smaller max file than collapsing the stack and saving the max file?
  • EarthQuake
    Options
    Offline / Send Message
    Its all handled on hte GPU, so no need to store all of that info in memory. It also helps with things like rigged meshes, instead of rigging a 100k mesh, you only rig your base 5k mesh.
  • Mark Dygert
    Options
    Offline / Send Message
    Wild. Not sure we need to go that deep in tessellation to get good results, like Vassago pointed out how much of that is just waste that chugs the system? But I guess it will drive hardware sales and new consoles soooOOoo....


    I would much rather see artists designate areas to be tessellated and or optimized. Tessellation mapping, make it happen!
  • killingpeople
    Options
    Offline / Send Message
    killingpeople polycounter lvl 18
    DX11 does not excite the senses. I want something awesome and new. Something I've never seen before.
  • Wells
    Options
    Offline / Send Message
    Wells polycounter lvl 18
    You can currently do the tessellation/extrusion trick with DX10 - it's just not very efficient. I guess 11 is making it more feasible?

    Kind of makes things look like claymation.
  • rooster
    Options
    Offline / Send Message
    rooster mod
    chunky bricks look awesome to me! although the ones on the ground look pretty pointy for a flat walking surface :P
    and they also rather oversimplified their comparison model, you can get much nicer effects with 'current gen' tech obviously. I mean they made the staircase a 2 poly ramp ffs
  • Hazardous
    Options
    Offline / Send Message
    Hazardous polycounter lvl 12
    Im gonna be a bum-bum and say, why did they pick dirt 2 to demo these features.....

    Who cares what fancy techniques are being used on the flag waving in the corner that i see for .5 second as I whizz past driving my car, seriously I wouldnt even notice the crowd if they had 20,000 poly each and every single one of them was unique or if it was a billboarded sprite!...

    The water at least could have something to do with the gameplay, show me the car nose diving into that water and the tech breaking up ( not just parting ) the mesh into globules that land on the windscreen and run down it giving the player some blurry vision to balance out the shortcut through the water ( for example ) .

    All this is going to do is ensure that you need a monster machine to play another driving game to handle the tech that you really dont care about whilst playing a driving game.

    Beside that - the tech and demos look so awesome.

    I just wish they could show it being used in a game where people could appreciate / interact with the technology a bit more.

    Im a wingey bastard this morning.
  • Rhinokey
    Options
    Offline / Send Message
    Rhinokey polycounter lvl 18
    i guess i'm daft, how can that crazy ammount ot tesselation on those blocks at the start of that vid, be less of a hit than just modeling out the block shapes and using a normal map and / or paralax
  • achillesian
    Options
    Offline / Send Message
    will modelers have to model things know how its going to look when its tessellated up/down? I imagine its going to be harder to fine tune things since the engines will being doing a sort of automatic Level Of Detail effect....
  • MALicivs
    Options
    Offline / Send Message
    MALicivs polycounter lvl 15
    Sectaurs wrote: »
    You can currently do the tessellation/extrusion trick with DX10 - it's just not very efficient. I guess 11 is making it more feasible?

    well its been out for a while, I remember seying that on that dx8(?) nvidia demo of the dancing ogre, and that was back in 2005. now if its more efficient, then yeah, bring it on.
    will modelers have to model things know how its going to look when its tessellated up/down? I imagine its going to be harder to fine tune things since the engines will being doing a sort of automatic Level Of Detail effect....

    no man, you just model the higher detail version and then it tesselates down, or maybe you do the lower version and add some kind of displacement map and it tesselates up but that doesnt sound very efficient.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Added an option to display vector displacement maps in the DX10 graphics driver ( in both object and tangent space ).

    It's very interesting because:

    1. It gives very good results compared with parallax/relief/cone normal mapping.

    2. It's relatively fast ( you gain 100x detail with only a 4x rendering speed cost ).

    3. It could be used in DX9 and OpenGL too without problems. Just requires SM3.0 or above.

    4. It saves a lot of video memory ( compared with a pre-tessellated static mesh ).

    5. It can be used together with animated models.

    6. It gives you an idea about the upcoming DX11's techniques.

    http://www.xnormal.net/1.aspx

    [ame]http://www.youtube.com/watch?v=SYU3YU3d7GI[/ame]


    So, we already have da tools thanks to Jogshy.
  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    Rhinokey wrote: »
    i guess i'm daft, how can that crazy ammount ot tesselation on those blocks at the start of that vid, be less of a hit than just modeling out the block shapes and using a normal map and / or paralax

    parallax mapping doesn't change the silhouette. if you write real geometry it's also easier to deal with in other stages of the pipeline (post process of depth buffer).

    ati did have hw tesselation in for quite long (it's in x360, too) there are some whitepapers around how much of a "hit" it has (actually doesn't have much).
    MALicivs wrote:
    no man, you just model the higher detail version and then it tesselates down, or maybe you do the lower version and add some kind of displacement map and it tesselates up but that doesnt sound very efficient.

    it will use displacement mapping (ie same workflow like now, just that a displacement map is generated in bake as well, this has been around for offline renders for decades). The whole point is that as EarthQuake mentioned, it requires less storage. If you would simplify from hi-poly to low, you would have to store how to recreate the high, which would be additional memory costs.

    the realtime demo is quite nice (it works on a lot of hardware, tesselation needs the latest ati card so) http://unigine.com/download/#heaven

    the key really is that it's faster in DX11 hw, and programmable, ie you code how you do the splits and when and so on yourself. The geometry shader of dx10 can also do this, but is less efficient with it, due to the way it was inserted in the pipeline.

    as for dx10 cards exposing some stuff on dx11, it's mostly the "Compute Shader" (think CUDA) Different feature sets are exposed, and older cards (ie Geforce 8 and up) should expose some functionality.
  • MALicivs
    Options
    Offline / Send Message
    MALicivs polycounter lvl 15
    you are correct, went looking a bit for this technology and found info about the vector displacement maps that I didn't know about, apparently they can do multidirectional displacement something we cannot achieve with regular height maps.
  • JohnnyRaptor
    Options
    Offline / Send Message
    JohnnyRaptor polycounter lvl 15
    I was researching this stuff for our tech a few months ago, its actually pretty cool and can be quite flexible. tesselation with proper lodding etc so only stuff upclose gets the highest tesselation etc. point of view based and based on areas of detail. you only transfer the basemesh and texture to the card and then it gets tesselated so no extra data needed really.
  • vargatom
    Options
    Offline / Send Message
    Ouch, you guys are quite confused on this one. The idea behind this kind of displacement mapping is a bit similar to normal mapping in that you compare a high res and a low res model and render the difference into a texture, but instead of storing the surface normal you calculate how much you need to move the surface inside or outside along the surface normal.

    Tesselation is the process of adding more geometry by subdividing the polygons. Current DX11 methods work on triangles, by the way, and are different to the industry standard Catmull-Clark stuff used in MaxMayaXSIZbrushMudboxEtc.
    Displacement mapping works with the existing vertices so it is highly suggested to tesselate oyur geometry before you apply the displacement.

    There are some good things about it:
    - you can still UV, store, and deform the low res model, just as with normal mapping, but you also get extra silhouette, lighting and self shadowing detail.
    - storing large amounts of geometry is usually more efficient with a low res base mesh and a displacement map, instead of storing a high res mesh (take a look at how big an OBJ file usually is, with just one UV set)
    - adaptive, view and camera distance dependent tesselation is a sort of automatic LOD, objects closer to the camera are displayed with more tirangles, whereas stuff far away doesn't get tesselated at all

    There are some problems as well:
    - displacement works best with very small triangle size, and that ruins GPU efficiency, which is why the actual performance hit is significant (in that floating island castle demo, it's almost 50%)
    - more polys means more aliasing
    - it's also going to be less efficient in number of triangles compared to what you can get with Decimation Master or PolyCruncher
    - it can look silly if some detail is only in the displacement map and it disappears completely as tesselation turns off at a certain distance (look at the spikes on the dragon)
    - it also complicates programming for AI, collision detection, pathfinding etc.
    - and of course making models for it is going to become more complicated as well

    But all in all it's still a win IMHO. I expect all the next gen consoles to fully support it so most of game modelers have about 2-3 years before they have to learn the new stuff.

    Edit: forgot to mention that it won't make normal maps go away though, you still need that for the small details.
  • vargatom
    Options
    Offline / Send Message
    Vector displacement is kinda more complicated... we have our own Mental Ray shader but mostly use it for static objects and only when it's absolutely needed. For a start, you can't really paint into it using Photoshop because it's an untangible mess. It also didn't work well on deforming models.
  • Blaizer
    Options
    Offline / Send Message
    Blaizer interpolator
    tessellation is not something new, the thing of displacement maps + tessellate is very old, you can check out the nvidia developer pages. Don't know if you remember games such as Messiah and Sacrifice, they used tessellation and i played Messiash with a pentium 200mhz and a voodoo card.

    BTW, modo uses vector displacement maps since it has sculpt tools. It can be handy, but are not very common.

    You must differenciate that tessellate is not the same as subdivide, and that for subdivision, there are a wide range of algorithms with different results.

    There are too many new techniques and algorithms still not implemented. Things are slow!
  • Ark
    Options
    Offline / Send Message
    Ark polycounter lvl 11
    The tessellation stuff looks cool, but isn't this already in DX10?
    Can't help think this is another waste of time like DX10.
    Microsoft trying it on again to ship more copies of Win7.
Sign In or Register to comment.