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
Looks cool though. I think we're usually about 4 years behind the tech demo curve in games.
http://www.gameslave.co.uk/newscomments.cfm?news=8437&title=Colin-McRae-DiRT-2-Direct-X-11-Media
B
http://kotaku.com/5387606/this-is-why-dirt-2-pc-was-delayed
Edit: Bahh Parnell, you are too quick!
The water in Dirt 2 is getting so good you almost dont notice it.
- 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
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.
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?
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?
I would much rather see artists designate areas to be tessellated and or optimized. Tessellation mapping, make it happen!
Kind of makes things look like claymation.
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
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.
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.
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.
http://www.xnormal.net/1.aspx
[ame]http://www.youtube.com/watch?v=SYU3YU3d7GI[/ame]
So, we already have da tools thanks to Jogshy.
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).
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.
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.
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!
Can't help think this is another waste of time like DX10.
Microsoft trying it on again to ship more copies of Win7.