High Poly models and Displacement Mapping.The Difference is?

BenQ

Newcomer
I've been reading up about a variety of different Mesostructures ( such as bump mapping, horizon mapping, displacement mapping, view-dependent displacement mapping ect.)

But when I got into displacement mapping it confused me.

The whole idea behind such effects is to provide surface relief, to simulate high poly models and small surface details WITHOUT actually increasing poly counts.

Obviously higher poly counts are time consuming to create AND much more costly to render.

Most of these effects ( bumpmapping, view-dependant displacement mapping, parallax mapping ect ) accomplish these effects without increasing poly counts, but that doesn't "seem" to be the case with proper displacement maping.

Displacement mapping creates a "vertex mesh" which effectively subdivides one poly into many polys. The result looks AMAZINGLY similar to any standard ultra high poly model.

So what's the point again? What's the advantage? Is there any difference performance wise between rendering a high poly model and a low poly model which has had it's structure subdivided many times and complexity increased via a vertex mesh?
 
Re: High Poly models and Displacement Mapping.The Difference

BenQ said:
I've been reading up about a variety of different Mesostructures ( such as bump mapping, horizon mapping, displacement mapping, view-dependent displacement mapping ect.)

But when I got into displacement mapping it confused me.

The whole idea behind such effects is to provide surface relief, to simulate high poly models and small surface details WITHOUT actually increasing poly counts.

Obviously higher poly counts are time consuming to create AND much more costly to render.

Most of these effects ( bumpmapping, view-dependant displacement mapping, parallax mapping ect ) accomplish these effects without increasing poly counts, but that doesn't "seem" to be the case with proper displacement maping.

Displacement mapping creates a "vertex mesh" which effectively subdivides one poly into many polys. The result looks AMAZINGLY similar to any standard ultra high poly model.

So what's the point again? What's the advantage? Is there any difference performance wise between rendering a high poly model and a low poly model which has had it's structure subdivided many times and complexity increased via a vertex mesh?


Displacement mapping is usually about 3 things.

Authoring - the fine detail is easier to paint than model
Performance/Quality (LOD) - you can Mipmap and dynmamically tesselate - you need to see the problems a VERY high polygone count model causes with aliasing to understand this.
Memory - it's a height field with implicit tesselation rather than XYZ per vertex + connectivity information
 
Authoring - the fine detail is easier to paint than model

with zbrush2 ,that's not true anymore. ;)

BTW ,is there an 'intelligent' way to feed a model with polygons where it needs them ? .All 3d packages have a pretty ovekilling way to do this.
 
_phil_ said:
Authoring - the fine detail is easier to paint than model
with zbrush2 ,that's not true anymore. ;)

You paint with Zbrush, too, which means it's good at doing a certain kind of detail, but does not excel as much at others. For example, mechanical stuff like parts of a robot or a weapon are still easier to model in a traditional way.
 
Sure, it's strengh is at organic modeling.But you usually don't use displacement for mechanical design stuff.
 
Re: High Poly models and Displacement Mapping.The Difference

BenQ said:
The whole idea behind such effects is to provide surface relief, to simulate high poly models and small surface details WITHOUT actually increasing poly counts.

Displacement mapping creates a "vertex mesh" which effectively subdivides one poly into many polys. The result looks AMAZINGLY similar to any standard ultra high poly model.

So what's the point again? What's the advantage? Is there any difference performance wise between rendering a high poly model and a low poly model which has had it's structure subdivided many times and complexity increased via a vertex mesh?

As you've actually written, displacement mapping does actually require high resolution geometry. All the other methods are shading tricks, thus they can't change the shilouettes of a model and can run into shadowing problems as well (though offset mapping seems to work very well).

The reason to use displacement instead of a highres model is that it's a sort of geometry compression. A 5-6 million polygon model takes many minutes to load into Maya, it's more than 200 MB data on the disk, and is generally very slow to work with.
However, you could store all its details in a 2500-5000 polygon model and 1-2 2048*2048 displacement maps. This way you generate the geometry on the fly, within the GPU, and you can throw it away after it's been drawn into the framebuffer.
As ERP indicated, you could increase your efficiency with MIP-mapping, view-dependent tesselation etc. and you can also delay the tesselation after you've transformed and animated the low-polygon model (so you have less vertices to manipulate with skinning).
 
_phil_ said:
Sure, it's strengh is at organic modeling.But you usually don't use displacement for mechanical design stuff.

Doom3 and Quake4 have almost nothing but mechanical stuff :)
 
Laa-Yosh said:
_phil_ said:
Sure, it's strengh is at organic modeling.But you usually don't use displacement for mechanical design stuff.

Doom3 and Quake4 have almost nothing but mechanical stuff :)

Doom3 and quake 4 are based on Normallmaps.Extracted from lightwave and maya high models and also partially form a NM photoshop pluggin.
BTW,Doom3 engine has its own command line normalmap extractor (from low poly+high poly models imput)

edit:Most (if not all) of the impressive characters in UE3 are made with zbrush
 
_phil_ said:
with zbrush2 ,that's not true anymore. ;)
Well, actually you ARE "painting" detail on 3D meshes in Zbrush, so technically he's correct. ;)

Most (if not all) of the impressive characters in UE3 are made with zbrush
Almost certainly, its a one of a kind app and incredibly efficient at what it does. But as a general purpose modeling tool its fairly limited, so I guess in many cases the base meshes were built outside Zbrush and just hauled in for detailing. At least that's how I would do it...
 
Well, the Locust is clearly modeled, especially the armor with all the hard surfaces:
http://www.unrealtechnology.com/screens/character_creation1.jpg

Yeah, I'm aware that current games use normal mapping, what I was trying to point out is that many games will require more mechanical detailing than organic stuff. Now anything cylindrical takes a lot of polygons to do, and most mechanical stuff is built from tubes, gears, screws etc. Without a radical jump in polygon counts, this kind of detail will have to be displaced as well - and I don't really see any reason why it wouldn't work for the most time.
 
Displacement mapping creates a "vertex mesh" which effectively subdivides one poly into many polys. The result looks AMAZINGLY similar to any standard ultra high poly model.
By the definition of "displacement mapping" alone, it doesn't actually create new polygons. Rather, in order for displacement mapping to be effective, it needs a high density polygon mesh in the first place, so where it's used by an artist, it just makes sense to tesselate a mesh to a certain density if it's not there already.

Of course, the source high poly model can be generated by tesselating a lowER poly model than you're using to apply displacement, so you can save some space by using a displacement map and a lower poly model. As opposed to having a model of such high resolution that it catches even the tiniest little detail that you're capable of painting out.

Also, if you're working on more static world geometry that has linear UVs, you can use the displacement map data directly for parallax effects on a low-poly mesh within game. Parallax effects don't really work too well with anything that is unwrapped for texturing because of the way that local tangent space at adjacent vertices can radically jump all of a sudden.
 
Back
Top