0
$\begingroup$

Just had a quick question, is there a difference between tesselation and displacement mapping? On another forum I read this:

"Tessellation in itself only smooths out things by subdividing the polygons. Displacement Mapping tessellates and deforms a surface based on a height map."

I also found this on wiki when looking up tesselation: "Tessellation can also be used for implementing subdivision surfaces, level of detail scaling and fine displacement mapping.[4] OpenGL 4.0 uses a similar pipeline, where tessellation into triangles is controlled by the Tessellation Control Shader and a set of four tessellation parameters"

This would suggest that tesselation is a process that can use fine displacement mapping. I am just seeing this come up in other 3D programs and want to keep all of the terminology straight in my head.

Thanks guys!

$\endgroup$
  • $\begingroup$ Please ask only one question per post. $\endgroup$ – cegaton Jun 25 '18 at 4:22
  • $\begingroup$ Got it edited. Sorry about that @cegaton $\endgroup$ – Tyler Dahl Jun 25 '18 at 4:33
2
$\begingroup$

I think the most accurate thing would be to say:

Tessellation is the process of procedurally generating additional faces. Such as subdivision, Catmull-Clark or simple. There are other algorithms as well. Procedurally as opposed to manually, although of course procedural tools are useful for the artist doing manual work.

Displacement mapping is technically the process of mapping vertices to arrays to specify displacements that a mesh should undergo. Those "arrays" are just images (there's no difference, it's just in how you interpret the data.) And the mapping, of course, is via UV coordinates. But that's kind of pedantic and technical, and what we really mean is the process of displacing vertices-- of moving them a certain distance prior to rasterization or raytracing, as specified by our image/array, in a vector generally specified by the vertex's normal.

First, is there any reason to perform runtime displacement without tessellation? Hell no! You'd bake it into the model. Why tell your video card to do math when you could precompute that math? You'd just be wasting GPU cycles.

Is there any reason to do tessellation without displacement? Well, yeah. It'll improve the silhouette. But once you do tessellation, you might as well start doing displacement too, it's not much more expensive, a texture lookup per vert is nothing these days.

So-- no, displacement mapping does not include tessellation, not necessarily. (Try a displacement modifier in Blender without doing a subidivide first: possible, not recommended.) Can tessellation be used for implementing displacement mapping? Well, yeah, it's an important part of most displacement strategies, but it's not the same thing, any more than planting food is the same thing as eating it.

Does tessellation use displacement mapping? No. Not in the slightest. (Try subdividing without a displacement map-- oh wait, there's not even a slot for a displacement map on the subdiv modifier....) It enables fine displacement.

Finally: I know you want to get organized, but words are just words, and what's important are the concepts, the meaning. You'd think 3D programmers would have their terminology straight, but very often they don't, and the reality is that when you don't understand exactly how someone is using a word, it's always worth clarifying. Yes, even if you're talking to John Carmack. Good books will define their terms, and you should read those definitions, and the instant you pick up a different book, you should read its definitions and forget the old definitions (for the duration of reading that book.) Even when speaking with a single person, we can use a single word in multiple ways. Try to figure out what people mean by "specular map" someday, that's always a fun one.

$\endgroup$
  • $\begingroup$ Interesting read. That clarified a lot of things. Thanks! @Nathan $\endgroup$ – Tyler Dahl Jun 25 '18 at 5:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.