Sign in to follow this  

Tessellation why use a normalmap anymore?

This topic is 2540 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have to ask why would you want to use a normalmap anymore if you have Tessellation available to you to make a very dense mesh and just use per-vertex lighting? I am guessing normalmap method would be faster, but wouldn't the per-vertex have better IQ?

I ask as I have no idea, just speculation on my part!

Thanks!

image

Share this post


Link to post
Share on other sites
Well, tessellation still has a high cost, and you can't afford to tessellate every single object in a scene. Tessellation is not the be-all end-all to 3D graphics. It's usefulness is actually relatively limited to certain situations.

Share this post


Link to post
Share on other sites
Someday you'll be right, normal maps will be a thing of the past, but for now we have to worry about things like availability and performance (like you also said). Not all hardware supports tessellation and performing tessellation isn't cheap. Normal maps are almost considered trivial these days, but I can imagine this situation being reversed some day because tessellation CAN reduce memory bandwidth.

Share this post


Link to post
Share on other sites
You'll still need some sort of map to generate the tessellation from, unless all what you're doing is making a model smoother/rounder, which isn't the main purpose of a normal map. So in the end, tessellation is just a new way of displaying a "normal" map (actually, a displacement map) in a volumetric way.

Also, per-vertex lighting will not look better (unless *all* triangles in the scene are small enough to occupy a single screen pixel each), because vertex lighting calculate the final light value at the vertex and interpolates that value across the flat triangle. Per pixel lighting, even without a normal map, interpolates the vertex normals across the triangle and calculate the light value at each pixel.

Even a flat plane would need dozens of millions of triangles to correctly display a specular reflection.

Share this post


Link to post
Share on other sites
Detail tesselation only generate more triangles as you move closer. It saves memory and make smoother steps between low and high detail levels for the items that can't be divided into separate parts. Using detail tesselation on flat walls or small dynamic items only takes more performance to do less than deep bump mapping and multi resolution items.

Share this post


Link to post
Share on other sites
Quote:
Original post by samoth
One big problem about tesselation is that it creates small triangles.

Many small triangles mean many edge fragments, which adds pressure to pixel shaders and blending stage.


It also means many more verts, too.

Share this post


Link to post
Share on other sites
Yes, correct. But transforming a few hundred thousand (or a million or two) vertices extra is probably not as much of a problem as shading and blending a significant proportion of the pixels (maybe something like 20-30%) twice or thrice needlessly. Pixel shaders are usually not computionally cheap and usually involve several texture lookups too, and blending can become one huge bottleneck.

Share this post


Link to post
Share on other sites
texture maps can be filtered very well, resulting in a high quality low flickering image. antialiasing of subpixel or few-pixel triangles is much more work, and normally much lower in quality.

the result: a normalmap looks different even if the geometry would be identical. that difference can be very pleasing to the eye (i prefer it). and, it's still much cheaper to render.

Share this post


Link to post
Share on other sites

This topic is 2540 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this