LoD problems

I have a heightfield that is of power 2 width and height. Height and width are the same. For higher LoDs I render all the triangles in the hf, but for lower LoDs I skip every 2nd, 4th, … vertex.

The problem is that all the normals of the hf mesh are computed for the highest LoD, not the lowest LoD. What are the approaches to solve this situation? Do I need to recalculate the normals for each of the LoD levels, or maybe do something else? Are there algorithms to simplify the normals along with the triangle mesh?

I fear the entire thing is going to be very complicated. I’ve read of people calculating normal maps to simplify the geometry, but retain the quality of the rendered image.

I would suggest baking the lighting into a texture, or if you need dynamic lighting, use a world space normal map. Use this for all LODs. It significantly reduces ‘popping’ when switching between LODs and generally looks better on the lower LOD levels.

Personally, I would not even consider lower LODs having their own set of normals. It wastes memory, be of lower quality, visible popping between LODs etc. I can’t think of any advantages.

With a “world space normal map” you mean a megatexture, if the world is very large?