I am trying to load a terrain with height range [-2000,2000] in Panda3D using GeoMipTerrain and setHeightfield methods with .png file as heightmap, but I am not getting appropriate result with negative height data
Also loading a large terrain in Panda3D is effecting its performance.
Another way of loading a terrain would be converting .png file (containing heightmap) to .egg format and loading it as a model, so please suggest me how this conversion should be done, and the way I can even load negative height information in terrain.
Which approach will be better for achieving my objective and in terms of performance too.
That’s a big range of heights… it’s from a big mountain and a deep sea, to compare this to typical in-game heights - the highest mountain in Skyrim is about 627 meters… but then again, maybe you’re counting in feet?
If negative numbers are a problem then move them from [-2000,2000] to [0,4000] and move the terrain -2000 units down
Anyway - you should be using a 16-bit png file and probably the new Shader Terrain Mesh system New terrain system - please test! or a custom tessellation shader (they are simpler then they look, there should be some example on the fora here)
For a big terrain an egg file is a very bad idea, it will be probably several GB large and it will take a looong time to load, even converted to bam it will be big.