Jump to content

  • Log In with Google      Sign In   
  • Create Account


Normal Blending over Terrain Tile Edges


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.

  • You cannot reply to this topic
4 replies to this topic

#1 PhillipHamlyn   Members   -  Reputation: 454

Like
0Likes
Like

Posted 21 January 2013 - 03:18 PM

Hi,

 

I have a tiled terrain structure in my hobby game, and have a problem with Normal Blending on the tile edges. When I calculated my normals I did it from a large scale heightmap and "oversampled" at the edges to pick out the normal of the adjacent face on the neighbouring tile, to make sure my normal was an average of all its adjacent vertexes, not just the ones in that tile.

 

This gives a reasonable result, but I can see clear edges where the renderer cannot interpolate between the normals on one tile and the normals on another to give a smooth join, since they are in different Draw calls.

 

Can anyone point me to a technique to ensure a smooth blend on tile edges please ?

 

Phillip Hamlyn



Sponsor:

#2 Gavin Williams   Members   -  Reputation: 650

Like
1Likes
Like

Posted 21 January 2013 - 06:55 PM

Can you put up an image please.

 

The normals being in different draw calls shouldn't make any difference, if there is a hard edge, it's because you're normals are not co-directional, I think it's as simple as that. So your calculations are probably wrong.

 

You could check the vertex normals at a corner to test if they as you expect .. equal.



#3 Vexal   Members   -  Reputation: 416

Like
0Likes
Like

Posted 23 January 2013 - 03:28 PM

What he is saying is that the normals at the edge of each cell he's rendering are averaged with the surrounding polygons.  But if two cells are rendered next to each other, the normals at the boundary of the first cell are not averaged with the normals at the boundary of the next cell because he probably stores each cell in a separate mesh, so he sees a discontinuity in the lighting.



#4 C0lumbo   Crossbones+   -  Reputation: 2200

Like
0Likes
Like

Posted 23 January 2013 - 03:46 PM

Where are the normals coming from? If they're part of your vertex then I think the issue must lie in your vertex normal calculation as Gavin Williams states.

 

If they're being sampled from a texture on your vertex shader, then you might be able to fix or reduce the artifacts by changing your sampling mode. Try disabling the bilinear filtering and/or wrapping and see if that gets you anywhere.



#5 PhillipHamlyn   Members   -  Reputation: 454

Like
0Likes
Like

Posted 24 January 2013 - 02:36 PM

I'm placing them in my Vertex Buffer. I believe I am calculating the face normal of each adjacent face, summing, then normalizing the normal for each vertex I examine. The adjacent face I'm using doesn't have to be in the same terrain tile at generation time so I'm not treating edge vertexes as having less faces than internal vertexes. I will as suggested manually check the values of the edge normals of the adjacent tiles to make sure they are identical. I'll post an update on whether this is the issue.

 

Sorry for the lack of image, I can't see how to upload an image into my gallery to share with you, although I'm sure you've seen this issue a zillion times before.






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