PDA

View Full Version : tesselation factors in dx11

nobond
27-Jan-2010, 23:16
any one can give a brief explaination on what the tesselation factor (or give a link) what it really means in DX11? MSDN website does not make a lot of sense to me. Is there any more basical stuff i can start with ?

3dcgi
28-Jan-2010, 04:06
A tessellation factor controls the amount of tessellation. It ranges from 0-64 and there are multiple factors per patch depending on the tessellation type. Quads have 6 and triangles 4.

A 3 control point patch with tri tessellation mode and all tess factors being 1 will just pass through the original triangle. As the number gets higher more triangles are created.

nobond
28-Jan-2010, 09:02
Yes, but if one tess factors is 2 in one egde, there must be something else telling you where is the new vertex is. That is what I do not quite understand. In what way, the new vertex pos are being told to calculate in the dx tesselators.

A 3 control point patch with tri tessellation mode and all tess factors being 1 will just pass through the original triangle. As the number gets higher more triangles are created.

Simon F
28-Jan-2010, 11:36
While we are on the subject of tessellation, from what I've seen, why on earth did they choose that hideous fractional odd/even scheme. It seems to me that there are far better methods** which don't have the horrible swimming/wave artefacts. Is there some fractional methods available in DX11 that I've somehow missed seeing?

**e.g. I had such a scheme on MBX of all things.

rpg.314
28-Jan-2010, 11:47
While we are on the subject of tessellation, from what I've seen, why on earth did they choose that hideous fractional odd/even scheme. It seems to me that there are far better methods** which don't have the horrible swimming/wave artefacts. Is there some fractional methods available in DX11 that I've somehow missed seeing?

**e.g. I had such a scheme on MBX of all things.

AFAIK, you can have fractional tess factors in dx11.

Simon F
28-Jan-2010, 11:51
AFAIK, you can have fractional tess factors in dx11.

Yes, but do you only have a choice of "fractional odd" or "fractional even"?

3dcgi
28-Jan-2010, 14:39
Yes, but if one tess factors is 2 in one egde, there must be something else telling you where is the new vertex is. That is what I do not quite understand. In what way, the new vertex pos are being told to calculate in the dx tesselators.
I'm not sure what's special about differing tess factors. The tessellation factors are all you need to generate (u,v) coordinates for the control points. It's a fixed function algorithm so the (u,v)'s should be the same on all DX11 hardware. It's what the programmer does in the Domain Shader (DS) that determines the ultimate vertex position. The SDK should have a tessellation example if you're curious how a DS might look.

nobond
31-Jan-2010, 19:35
Yes, from spec, you can only have even/odd, but not both.
No idea why.
Yes, but do you only have a choice of "fractional odd" or "fractional even"?

Simon F
01-Feb-2010, 09:26
Yes, from spec, you can only have even/odd, but not both.
No idea why.

I guess what I should have said is "Is there no fractional_without_ugly_swimming mode"?

JohnH
01-Feb-2010, 14:06
I guess what I should have said is "Is there no fractional_without_ugly_swimming mode"?

There's also power of two modes which should help, although I'm not sure if it's possible to blend between power of two subdivision levels without spewing one level out to emory first, which is a bit cack...

John.