Height Map Material Parameter

Hey

I’m recently playing around a bit with texture mapping and I want to use a basic height map to create a bumpy object.
I already did one with a normalmap but is there a way to do this with a heightmap?
I am searching for a few days in forums and in the docu but everything I can find where heightmaps are used in a different way is when creating terrain with it.
I just want to do like a basic geometry and use the height map to make it bumpy with lightning but I can’t find the correct Material Parameter. It seems that there are only parameters defined for normalmap and parallaxmap.
So I would like to know if this is supported and when it is how can I do this?

Thanks for your help

You man BumpMap i belive.

i heard that BumpMap is much slower than NormalMap thats why in modern way you use normalMap (+ Parallax optionally if its not bumpmap itself). It is faster then tesselation tho.

Idk if JME support exact bump mapping technique.
there is wiki(maybe will help):

it is also described here a little:

But generally quality + performance IMO is Occclusion Parallax + NormalMap.
There is:
https://store.jmonkeyengine.org/571e75d2-d9c6-4f3f-8b99-3c717bbf42bd

I already have Terrain with it for each terrain types and its visual is like:

but it require custom Terrain J3MD file based on linked Store page utility.

About Terrain Mesh, you shoul not worry about optimization, since JME Terrain use LOD system.

So just to advice, for me:

  • heightmap = parallax occlusion
  • normalmap(can be generated in Blender/etc from heightmap) = light direction(normalMap)
    where both result in nice visuals.

If you would need real quality of heightmap, you would need use Tesselation shader that add verts ad position there. But its much slower and should use LOD to optimize.

when creating terrain with it.

Please note in my showcase i still use one more heightmap to generate Terrain Mesh

Heightmap in Terrain != Bumpmap, it just generate Mesh based on it → maybe this also cause you a lot of confuse.

Thanks for your fast reply.
Yeah I meant bump mapping.
I will look into Occlusion Parallax Mapping but for my test example this will be a little bit overkill I think.

My basic approach for my normal mapping example was just simply creating an Geometry from an object file and then create a new Material with Lighting.j3md
After that i simply used the .setTexture() method to add a diffuse and a normal map.
But it seems like there is no way to do this with a heightmap (bump map).
I think i will keep trying a few things. I want to see the differences in performance and visuals between these two.

Effectively, bump map = parallax map.

And if that’s not the case from your perspective then your expectations of bump mapping might be too high and based on Blender (which can actually move surface points around).

Oh okay. So to use a HeightMap I use it with the parallax map parameter?
No I don’t want to move the surface points. I basically want to achieve the illusion of depth and detail like a normal map does but with a height map.
I will try this out.

Thank you!

I basically want to achieve the illusion of depth and detail like a normal map does but with a height map.

Parallax(and Parallax Occlusion) dont move surface points, it just move pixels(texture itself)
(tho it have some visual issue if you set values too high)

Tesselation move/add surface points(verts)

Okay. With Parallax it worked.
So if I actually want the object to look different no matter how light and camera perspective are I need to use tesselation? Is this anywhere described how to implement this?

Thanks!