It is my understanding that Unreal Material tessellation factor is maxed out at value of 64, being a HLSL “branch” from DX11 Shader Model.
In the Shader Model 5 this value is the same:
“The maxTessFactor is a float32 value in the range {1.0 … 64.0}.”
OPENGL operates tessellation differently (using patches?), the documentation states:
“Tessallation levels.
… In the below discussion, max is the maximum allowed tessellation level, as defined by the GL_MAX_TESS_GEN_LEVEL. It must be at least 64, so you have some room to play with.”
Is it possible to overstep the 64 “magic number” for tessellation factor by implementing some kind of OPEGL function?
The usage is for the landscape material with high quality displacement.
Performance is semi-factor (for now).
@hometask why would you want to go that high? Firstly, tessellation already looks ridiculous with values as low as 5, and it’s gonna eat all your frame time…
If it is for landscape purposes it won’t matter because landscape materials behave a little different and they implement an automatic LoD system, that no matter how big is the tessalation adopted, at distance it will not show. I doubt that close detail it will be great, but for practical purposes, any value higher than 8 will mostly look the same (at least for landscape materials)
As I messed with the values, it seems that 64 is maximum value, as this magic number comes from Shader Model.
As I mention in initial post, Shader Model is a DX11 derivative (and comes as float32).
The magic number of 64 is just not enough for displacement as I intend, so the purpose of the thread is to find the way to overcome this limitation with code injection. Probably, Vulkan based shader or software tessellation.
Again, performance is semi-factor for now. Such as distance-based LOD.
@hometask when I mentioned distance-based LOD was to say that it is automatic, meaning you can’t overcome the fact that at distance it won’t use whatever value you decide for tessellation.
What do you intend on using this? Why just a nicely baked high resolution normal map with some displacement isn’t enough?
Indeed, the difference is there, but you got the camera very close to the ground for that detail to be relevant, how does it behave with the camera at regular height from the ground, lets say 1.75m ?