I have written my own 3D engine and want to improve some of my render systems. Right now I've got a terrain system including the shaders). I can add 4 different textures which can be blended at any given place.
This leads to my first question:
- What is the default way for using the blending data? A "blend map" that stores the blending data or should I assign the blend data to each vertex? The second option makes rendering faster and I do not have to bind as many textures but the blending value is only being interpolated between the vertices. (Loss of information ?)
Furthermore, I've seen other games where they added some normal maps. It is not difficult for me to implement that but I've also seen that the normal effect only happens if the fragment has a specific range of the camera. Everything beyond the normal calculations does not happen.
- What happens if I am outside of the (normal range), what texture is being rendered?
- This question comes up with the question no. 2: It can be seen that that if (e.g mountains) are beeing rendered in the far the default "rock" texture is not being used to which I would usually apply my normal map (because it is outside the range). Is there some kind of an overlay map for the whole terrain?
I would be very happy if someone could give me some advice on how to make my terrain look better :)