Different ways to texture a terrain?

Hi again,

I played a bit with TerrainBlock and ProceduralTextureGenerator to generate and texture a terrain.

The problem I encountered is that as far as I understand there's only a single large texture generated for the whole terrain - however when building large terrains this gives either horrible memory footprint / vram useage or very low texture details.

Can the TerrainBlock be textured using more than a single large texture - I could imagine that there are several different textures like "ice" and "grass" and the terrain is textured using these small textures many times.

I am happy about any feedback. I am a totally newbie so if my question is plain stupid, please don't be angry :wink:

Thank you in advance, lg Clemens

jME can of course blend different textures together real time as well. There's already a demo somewhere in jME that does this on a TerrainBlock too. However there's not yet any framework that'll make blend maps etc.

recent related topic: http://www.jmonkeyengine.com/jmeforum/index.php?topic=3422.0

I do hope to eventually have this in my own terrain engine for jME.

jME Terra


It's still under heavy development though.

Thanks a lot, llama :slight_smile:

Your terrain engine looks really promising, are you still working on it? To be honest I don't need terrains to be that large - however it seems your solutions is still a lot better than the TerrainBlock stuff already in jME.

Thx for the hint about texturing terrainBlock on the fly, I'll have a look.

Thanks, lg Clemens

I am still working at it, but the pace can get slow. There's some contributions from others waiting too, including one much related to what you want to do. I'm still waiting for those myself though :slight_smile:

I wouldn't my work is better than the TerrainBlock stuff in jME, since that is much more complete. Mine is still missing some basic functions (eg. getting the height/direction over a certain spot)… the good news is those shouldn't be too hard to port over from TerrainBlock if you need them.

Sorry that I am nerving again and thanks a lot for all your patience.

llama said:

jME can of course blend different textures together real time as well. There's already a demo somewhere in jME that does this on a TerrainBlock too.

Do you know the name or do you have any idea where I could find it?
I already searched in jmetest's source package but only found examples showing howto use TerrainBlock with one scaled terrain-texture.

Thanks again for your patience, lg Clemens

Texture combining is a general (OpenGL) thing, not terrain related. You can put multiple textures in a TextureState and blend them according to your wishes (or use a shader to do more advancded things) for any object. TestTerrainPage uses two textures for example, the pregenerated height based texture, and a repeating detail texture (detail.jpg).

The topic I linked to talks about this too. In there mrCoder links to a site explaining how to do this for terrain. It's not terribly complex but not newbie stuff either. mrCoder in fact implemented this for my terrain package for a demo, so he might release that in the future.

Ah thanks a lot for the suggestion, don't know who I could have missed that :confused: