How to Improve Tessellation Quality?
Events
Subscribe:  iCal  |  Google Calendar
Vancouver CA   12, Aug — 17, Aug
London XE   17, Aug — 20, Aug
Cologne DE   19, Aug — 21, Aug
Cologne DE   22, Aug — 26, Aug
Seattle US   28, Aug — 30, Aug
Latest comments
by Clinton Crumpler
9 hours ago

very nice!

by Remingthon
12 hours ago

Very impressive work dude!

by Remzi
15 hours ago

daşşağına gurban

How to Improve Tessellation Quality?
19 June, 2017
News

Ruslan Nazirov, a 24-year-old developer with solid experience in programming, shared a nice tip for UE4 users, who are trying to deal with tesselation problems. 

This tip might be useful for those people, who tries to achieve the best possible quality of their in-engine static renders. Big values of tesselation multiplier are not suitable for real-time games at this moment and I recommend to use parallax occlusion mapping instead.

Default tessellation multiplier in UE4 locked to the value of 15, which mean that by default tessellation quality is limited. You can change this behavior by modifying shader code.

Just do the following.

Open: Epic Games\UE_4.X\Engine\Shaders\PNTriangles.usf

Find and change [maxtessfactor(15)] to [maxtessfactor(50)]

and CompositeTessellationFactors = clamp( CompositeTessellationFactors, 1, 15 ); to CompositeTessellationFactors = clamp( CompositeTessellationFactors, 1, 50 );

Optionally do the same for Epic Games\UE_4.X\Engine\Shaders\FlatTessellation.usf if you’re using flat tesselation instead of PN Triangles.

Keep in mind, that it will require recompiling all shaders after the first launch, so be patient. Also, you need to do this trick each time when you’re updating your engine to the new version.

And here’s the comparison:

Without tessellation:

Tessellation multiplier = 15

Tessellation multiplier = 50

Ruslan Nazirov, 3D Artist

Comments

Leave a Reply

1 Comment on "How to Improve Tessellation Quality?"

avatar
callumblackall@gmail.com
Member
callumblackall@gmail.com

Whilst the quality of the result will begin having diminishing returns how so does the performance diminish over the scale?

wpDiscuz