Jump to content
  • Advertisement
Sign in to follow this  
PhillipHamlyn

Normal Blending over Terrain Tile Edges

This topic is 1972 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
Advertisement

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!