How do I unlock tessellation limit?

My MapBuilder is using simple cubes for making the environment, I want to be able to make a big cube as a floor and using tessellation on it to make it look detailed.
When I’m trying to increase the tessellation multiplier, It will stop subdividing at about a value of 0.2.
I know it stopped in 8 for other users.
Is there anything I can do about it?

If I recall correctly, there’s a checkbox called Adaptive Tessellation which is on by default. Have you tried to turn it off?



Thanks a lot man I will try that one out!

It looks different in 4.10.
It has this line:

And when I’m trying to change it to higher number it won’t make any changes.

Have anyone tried it?

A little late, But if I recall correctly that is a D3D limited value (in that that is the maximum tessellation you can set).


I see. Thanks.

I’m sure I had it on 32 or something crazy like that and it appeared to be working fine, but I wouldn’t know for sure.

Been going over the tessellation docs again.

I got the value of 15 from the “DetailTessellation” D3D11 sample from the june 2010 D3D SDK.
I have not done a indepth poking around but I cannot find any mention of the range of the factor in the docs.

For reference here is the MSDN article with a overview of how tessellation works.

I will check out what tessellation options I can set sometime today, But there should be more then just the factor(unless its linked to the others aswell)

Here is a picture of the sample.
DetailTessellation sample.jpg


This presentation says that (at the time) a tessellation factor over 15 have a large impact on performance on AMD GPU’s.


Anybody found a way to increase max tessellation factor?

The post on 11/19/15 shows exactly how

I’m coming from there.

MaxTessFactor and [maxtessfactor(15)] Aren’t available in Tessellation.usf
I’m on 4.10.0

Here is the file itself.

Edit: I’m not using PNTriangles. I’m trying to increase it for flat tessellation.

look under FlatTesselation.usf

Usually when you can’t find something in one files you can easily find it by searching the whole project. That setting appears in both flat and PN tri files.

Okay I changed that from 15 to 25 in FlatTesselation.usf. Project had a full material recompile at start but still it doesn’t do anything when going above 15.

Ok weird. I’m not sure whats going on with this section of code but I found this curious line a bit further down. Looks as if there may be some constants in play with no variables. I hope its a bug.

	CompositeTessellationFactors = clamp( CompositeTessellationFactors, 1, 15 );

Last time I messed with this was around a year ago and it just worked and there were no hard coded factors.

I changed that to CompositeTessellationFactors = clamp( CompositeTessellationFactors, 1, 25 ); as well now I can subdivide it up to 25. The problem is that now it treats all the displacement maps as flat maps. (by changing the displacement amount the whole layer goes up and down regardless of the blacks/whites in the displacement map)

Edit: Unchecked crack free tessellation and it works fine now. Going to increase the multiplier up to 50 and see what happens. (Since landscape has 1 vertex per meter it’s still sorta blocky at 25).

Edit 2: I don’t know why it only works when unchecking crack free tessellation. It would be nice to be able to have crack free check on as well though since there are some cracks at where the tessellation stops. :rolleyes:

I struggled with this a while back as well. Ended up just porting the old shaders to the new engine build. Would be very nice if this gets sorted out cause indeed, default max. tesselation is sometimes way too low for very good results.

Edited my post above. :slight_smile:

Cool! You should be able to crank it up quite a lot if you have some kind of distance tessellation going on. Just be careful with adaptive tessellation not iterating your (already very high) tessellation at close range again cause that can actually make your editor/pc freeze completely. Gonna try the above over the weekend. Great stuff @Maximum-Dev :cool: