Normal Mapping on Terrains

Blitz3D Forums/Blitz3D Programming/Normal Mapping on Terrains

xmlspy(Posted 2004) [#1]
If Normal Mapping can be applied to 3D mesh models, and a terrain is a 3d mesh, then we can use normal maps on terrains.

Result = faster rendering, cause less poly.


xmlspy(Posted 2004) [#2]
This can be very useful, http://amber.rc.arizona.edu/lw/normalmaps.html


xmlspy(Posted 2004) [#3]
We can have a blitz terrain generator(sswift one), then we save the model into a .x or .3ds, then we can have a poly reducer and a normal mapping program, then we can have a very neat normal mapped terrain. Can this work out?


Dreamora(Posted 2004) [#4]
No

As the polygons need to be quite small to let the Normal Map Effect look somewhere around "acceptable"

As terrains have large triangles, the effect does not work :( ( came on that idea as well after reading some articles on terrains and usage of ShaderTechnology )


Rob(Posted 2004) [#5]
Dreamora is wrong.

Please get your facts right.

If you use any mesh, such as sswifts one, then it will work fine. Dreamora, please ensure you know the facts. Normal mapping can work just fine with dispersed verts.


aCiD2(Posted 2004) [#6]
Yes dream: read the the article posted above, it shows a face with 200, 1000 and 500 polies with a normal map - same quality in each (pretty much)


Afrohorse(Posted 2004) [#7]
Normal maps would work on landscapes and it has been done before - but there is still the problem of the low poly edges on the horizon. I think parhaps what Dreamora meant was that the polygon resolution of the landscape of sswifts terrain engine was too low to make a good normal map from. However, you can always add detail over the top into the normal map, or smooth over the result - but at the end of the day, using a normal map means you can a lot use less poylgons and achieve the same result (Discounting the edges).

I think for normal mapped landscapes to work, you'll also need some way of keeping the edges of the horizon quite high poly and take the camera angle into account. If your terrain is patch based, one way of doing this is pre-determine how complex a patch is by evaluating the differences in the patch heights, then when choosing the correct LOD at render time factor in the complexity value.


xmlspy(Posted 2004) [#8]
so it is possible. hey RedFlame guy(BloodLocust), wana try doing it? I wana see a working example, I'm busy on other projects and have a lot less experience with this kind of stuff.


Dreamora(Posted 2004) [#9]
To the article linked above:
This face has only extremely small triangles which are used, so the effect is working.


On a terrain you will normally have triangles in the size of the whole head if not even larger ( if you are not using quadtree terrain to make near far higher detail than far ), or you have far too many triangles on your terrain to use it in a game.


I've tried this stuff myself for over 1 month in hope to find a possibility to make the effect usable in any case and not only in some situations.

I wanted to use it as a work around to the Blitz3D restrictions in vertices per mesh and the slow vertex creation ( which would not be a problem if threads were there ) to create a alternative for the Blitz3D Terrain.

But I gave it up somewhen, the results were not even nearly like what I wanted to see after the Athene demo etc.