• Create Account

# Displacement Mapping Tessellation

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

6 replies to this topic

### #1Quat  Members   -  Reputation: 375

Like
0Likes
Like

Posted 10 April 2012 - 03:28 PM

I am using d3d11 tessellation. I have a tileable texture brick texture with normal and height map. If I map this texture onto each face of a cube and do displacement mapping tessellating, the displaced vertices do not meet on the edges of the cube. What is this problem called and how do you fix it?
-----Quat

### #2wiselogi  Members   -  Reputation: 116

Like
0Likes
Like

Posted 10 April 2012 - 03:55 PM

This is usually called "Crack". You must have the same tessellation factor ( set it on the Hull Shader ) for each edge of a triangle that shares a cube edge, and also the displacement amount on the edges must match.

### #3MJP  Moderators   -  Reputation: 7613

Like
0Likes
Like

Posted 10 April 2012 - 03:56 PM

It's usually referred to as "cracks", and it's very common and difficult-to-solve problem. You can read this presentation for some more info, and potential solutions.

### #4Quat  Members   -  Reputation: 375

Like
0Likes
Like

Posted 10 April 2012 - 05:04 PM

You must have the same tessellation factor ( set it on the Hull Shader ) for each edge of a triangle that shares a cube edge, and also the displacement amount on the edges must match.

The tessellation factors are the same. The problem is that each cube face has a different tangent space, so the vertices on an edge get displaced in different direction.

I can't really think of a way to solve this unless I make my cube have rounded corners such that there will not by any vertices with duplicated positions but different normals.
-----Quat

### #5Bacterius  Crossbones+   -  Reputation: 5662

Like
0Likes
Like

Posted 10 April 2012 - 09:47 PM

The tessellation factors are the same. The problem is that each cube face has a different tangent space, so the vertices on an edge get displaced in different direction.

I can't really think of a way to solve this unless I make my cube have rounded corners such that there will not by any vertices with duplicated positions but different normals.

DId you try averaging the tangent space for the cube corners (so instead of facing directly up or directly left for instance, the edge ones will face 45 degrees up and 45 degrees left)? It should work then.

"The best comment is a deleted comment."

### #6Quat  Members   -  Reputation: 375

Like
0Likes
Like

Posted 11 April 2012 - 10:53 AM

The tessellation factors are the same. The problem is that each cube face has a different tangent space, so the vertices on an edge get displaced in different direction.

I can't really think of a way to solve this unless I make my cube have rounded corners such that there will not by any vertices with duplicated positions but different normals.

DId you try averaging the tangent space for the cube corners (so instead of facing directly up or directly left for instance, the edge ones will face 45 degrees up and 45 degrees left)? It should work then.

Yeah, that's basically what I meant when I said "make my cube have rounded corners." I don't have to round the geometry, but if I average the tangent space, it will give a rounded look with the lighting.
-----Quat

### #7wiselogi  Members   -  Reputation: 116

Like
0Likes
Like

Posted 11 April 2012 - 12:04 PM

Averaging is a solution, but instead of doing that, there is a potential solution in MJP link's. And also a easier one on this http://www.google.com/url?sa=t&rct=j&q=tessellation%20displacement%20mapping%20cracks&source=web&cd=1&ved=0CB8QFjAA&url=http%3A%2F%2Fdeveloper.amd.com%2Fgpu_assets%2FWileyAuthoringforTessellation.pdf&ei=ssSFT8PcNaiyiQKWv9j1BA&usg=AFQjCNGFsjyLTbkH11jBHvTgTmLuYJgRtQ&cad=rja

At page 45, they propose a filter at UV borders.

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

PARTNERS