[Bug] tesselation broken in editor, works fine in material window

Been trying to get some DX11 stuff working, the material i made tessellates in the material window view, but when its in viewed in game, or editor viewport it doesn’t do anything.

tessellation

Hey Marc,

Thanks for submitting this bug. I created a tessellated material and it seems to be working on Rocket Beta 2. Could you provide your material with tessellation to see if we can reproduce this issue.

Best Regards,
Ryan

tesselation image

I recreated your tessellated material from the image but used some textures here for the diffuse, normal and height map textures and we are not able to reproduce your issue. Does this seem to be happening only in this project? Any particular mesh you are applying this to? Does the mesh appear different in wireframe view after applying the material?

iv tried it several times in several new projects just to be sure, I checked the wireframe and have adaptive tessellation enabled, the mesh and material are a 1:1 copy that iv been using in my UDK july build project which works fine.Wirefame is tessellating the mesh as the camera gets closer to it, but its just not adding any height, its slightly bumpy, almost distorting the mesh, but not adhering to the material editors mesh view (used sphere, plane, cube)

I have applied it to another mesh (a weapon skeletal mesh) and it seems to have worked, but it should also work on the ground mesh i originally applied to, as stated, worked in UDK

i’ve assigned a programmer to this as well to see if they can provide any insight into this. In the mean time perhaps try messing with the High and Low parameters you have along with increasing the TextCoord U and V Tiling to see if that makes any difference.

I can provide the mesh that im using shown in my screenshot, its 40KB just incase my mesh it self is somehow messed up? or if its been made in some way that messes things up.Ground_Mesh

Edit, iv tried it on another ground mesh i made and its the same thing, really flat, i scaled the textcoordinates down from 10 to 1 to see if it changed with the material being “bigger” over the mesh, didn’t work, also tried uping the Low and high params no effect.

if you want to provide the mesh and the textures you are using for the diffuse, normal and height map we can see if those have anything to do with this.

iv added the textures and mesh into this zip, The are the ones from UDK just edited slightly.
Texture_mesh

Hi Marc,

Can you try removing the input to TessellationMultiplier in your material? That appears to scale the tessellation factor based on the distance from the vertex to the origin of the mesh. For small meshes (like the sphere in the material editor) that will give you a lot of tessellation. But for large meshes like the ground, 500 / that_distance will be a very small number and thus you will get no tessellation.

Since you have adaptive tessellation enabled you don’t really want to do your own distanced based multiplier, usually you would just want to use a constant. If you wanted to you should probably use Camera Position → Actor Position or Camera Position → World Position.

is there a way to disable adaptive tessellation and do it manually? this used to be [the one reason] I never used tessellation in UE3.

There is an option under “Tessellation” to turn on/off Adaptive Tessellation. It is checked on by default.

oh, awesome!

Iv done a comparison between UDK and rocket, the exact same setup. If i increase the high and low param in rocket it does tessellate, but its like 10 or 20 times higher than UDK. this then makes the mesh look really messed up and not as subttle as shown in UDK, and makes it next to useless for any smaller meshes. notice on image 2 that the mesh in UDK has clear visible deformations when it intersects with another mesh

image 1

Image 2

If you look at the wireframe, is the mesh actually tessellated in Rocket? Did you leave adaptive tessellation on or turn it off? If you turned off adaptive tessellation, make sure you supply a tessellation multiplier otherwise your mesh will not be tessellated!

So try this:

  1. Take that material, enable adaptive tessellation. Does it look ok? If viewed in wireframe is it tessellating?
  2. Disable adaptive tessellation and hook a constant up to tessellation multiplier. Try something like 6 or 10. Does it look ok? If viewed in wireframe is it tessellating? What if you increase the tessellation multiplier?

1: yes it tessellates with it enabled
2: it tessellating still, but its exactly the same, constant set to 1 is still causing the mesh to get sort of bumpy, but not in a way that works like UDK at all. very minimal tessellation . setting to anything above 1 doesn’t tessellate it further.

I just took a look at this with your assets. The problem you’re running in to is that we clamp the tessellation factor at 8.0. That’s a number IHVs have recommended to us in order to avoid performance pitfalls, especially on AMD. With your mesh you need a tessellation factor of >20 to start getting good results. My suggestion is to pre-tessellate your mesh which will allow you to get the tessellation you need and also get good performance on modern GPUs.