[Closed] Tessellation Camera Distance LOD?
I was wondering if there was a way to control the density of Tessellated meshes/materials as they expand away from or coming toward the camera. Right now my Tessellation triangle density remains the same on all meshes in the level causing a significant performance hit.
asked Mar 11 '14 at 05:32 AM in Everything Else
ue4-archive ♦♦ STAFF
The question has been closed Oct 03 '14 at 03:20 PM by Jonathan Dorman for the following reason:
This is a question from the beta version of the engine. We are marking this answered for tracking purposes. If you are experiencing an issue similar to this please post a new question.
answered Oct 03 '14 at 03:19 PM
Would be Very Nice
've done a lot with DX11 Tessellation in UE4, and I also would appreciate some sort of easy scalar value to plug in to control how much the tessellation factor scales itself with distance of actor to camera :)
In the Meantime
In the meantime here's the basic idea of a Material network you could use to regulate the Tesselation factor by distance
I've dynamically changed tessellation factor via material instances, so I can say that changing this value alot during game time is not a problem
but compiling the material shader does take a while :)
Hey there, I was experimenting a lot and did some math and found a great solution to this problem. I even did a Tutorial how to change the tessellation lod of your object based on your distance towards the object:
I hope this helps. The material is driven by 6 parameters -> 3 for World Displacement and 3 for Tesselation Multiplier. You can set up the base value (maximum depth, maximum iterations) and then the minimum and maximum distance. The minimum distance is the distance from the object, where the set tesselation value (depth or iterations) stays the same. Then from the minimum towards the maximum distance it transitions towards 0.
PS: I also just added an unreal engine wiki page: https://wiki.unrealengine.com/Distance_Based_DX11_Tesselation_-_Video
you can multiply the scene depth and max tessellation value together to scale tessellation to distance.
Have you tried enabling adaptive tessellation on the material's properties. That causes the engine to try to choose a tessellation factor to maintain a constant triangle density in screen space. The tessellation factor specified by the material is then read as a multiplier so that you can boost or decrease the computed tessellation factor.
Follow this question
Once you sign in you will be able to subscribe for any updates here