Why are curves so hard in RT?

It is the answer for most offline rendering issues.

There are cases where higher level of proceduralism is required (like L-ssytem based foliage, hair and so) or for most visual effects depicting fluids (smoke fire water etc). But for characters, environments and props, subdiv + displace is doing very well.

So what about doing it in real time? I know a few games have used it in the past but to rather poor effect visually. Do you think current hardware is at a level it would be able to pursue this or is there still too much geometry and not enough processing power and memory and bandwidth we need?
 
AFAIK tessellation only goes to a certain distance. Can tessellation of an object go on infinitely or is there always a point where you zoom in far enough that it stops smoothing out with new polygons and things look blocky again?

You look into something close enough and you wont need to tessellate it any more. It'll just look flat like the surface of the earth does to us from it's surface, or you should have switched to a different model for microscopic detail.
 
Tesselation in real time? Going to happen in next gen consoles, I'm almost completely sure about it. For the current one there aren't enough resources left, without seriously compromising other features like lighting/shadows or shaders...
 
AFAIK tessellation only goes to a certain distance. Can tessellation of an object go on infinitely or is there always a point where you zoom in far enough that it stops smoothing out with new polygons and things look blocky again?
As said above if you zoom in far enough things flatten out. It depends on the tessellation algorithm, but DX11 hardware supports a very high level of tessellation. Enough to zoom in very far and still have tiny triangles. With a recursive algorithm you can tessellate infinitely.
 
There's a certain amount of polygonal detail you need to be able to tessellate from to a desired result that we haven't quite reached yet tho. At least I believe so for real time applications. With next gen video cards and in next gen consoles this shouldn't be a problem. But I wonder if displacement map resolution will be viewed like texture resolution is this gen, or if things will be power full enough that it wont be an issue and how does such affect animation. I'm just wondering when model fidelity will not be an issue and lighting becomes the only concern regarding computer graphics.
 
The other apps and upcoming DX11+ games won't do that and tesselate the mesh directly.
I guess with direct tessellation you mean there is no curved surface interpolation but only displacement mapping of the flat tesselated polygon? (Hopefully along the interpolated surface normal.) That's not terribly efficient, because then the displacement map has to clean up the the blockiness of the polygonal model ... you need a high resolution, model unique displacement map to make it smooth, whereas a model tessellated with a curved surface representation is smooth even without any displacement map, or with only shared material displacement maps.

If that's how it's going to be I'm afraid we will be stuck with blockiness for a long time, on all the objects for which a large displacement map can't be justified. I hope not ...

For the moment the games which have shipped with tesselation have used it with curved surface representations .... which comes down to patches.
 
Last edited by a moderator:
Don't ATI Truform round edges when it is tesselating ? Don't DX11 tesselation able to do that too ? I was studying the DX11 heaven benchmark tesselation, in that benchmark even on extreme poly edges doesn't seem to get rounded. Can't study it too detail since the benchmark on extreme is very unstable when I turned on wireframe.
 
Don't ATI Truform round edges when it is tesselating ?

Not unless you want it to. The edge of a box can still remain sharp if so desired. Tesselation doesn't lead to loss of detail generally, unless that's what you're trying to do (dynamic LOD).

Regards,
SB
 
I have a feeling Laa-Yosh is concerned with the modeling tools. Sub division surfaces work with poly modeling tools yet they are still higher order surfaces.

I haven't done any modeling in 5 years or so, but the patch primitive type from 3ds max was a pain as it was quite different from the poly modeling tools.
 
Shrug ...

If the model is made to get rendered with patches you are modeling patches ... the modeling tool might not show them like patches, but that's just a fault in the modeling tool. The modeler might not think of them as patches, but that's just a fault in the modeler. Occasionally showing it as a polygonal model during the modeling phase because it makes some things easier to see is fine, but it shouldn't be the default. Trying to pretend it actually is a polygonal model the whole time leads to cognitive dissonance.

It leads to things like refusing tools to let the modeling program expose ways to efficiently control the underlying patches and using degenerate tris to create creases ... ass backwards. If it's a patch you have to model it like a patch to make optimal use of that fact, even if 99% of the time you are only controlling the edge vertices and relying on automatic handling of the other control points.
 
Back
Top