Height map shader

../../../_images/heightmap.jpg

From left to right : original material without height shader, height field image, material with the height map shader

Warning

This shader was named bump map in Ocean 2016 and earlier versions. Ocean 2017 renamed it to height map and has a new Bump map shader more coherent with traditional CGI bump mapping algorithms

Normal shader This shader alters the surface normal based on a height field, given a grey scale image.

By default, image values are converted to physical heights in meters. This means, that a 8-bit image with values ranging from black to white will correspond to one meter height variations. This can be changed by using the scale parameter

Please keep in mind that only the normals are affected, but the surface is not actually displaced. This leads to physical inconsistencies if the shaded normal is very different from the geometric normal, for instance the angle of incidence may be greater than 90°. Therefore, this should be used for small distortion angles only.

The main difference with the Bump map shader is that it computes normals accurately from the height function, even if the surface and UV mapping is distorted. Traditional bump map algorithms are not physically accurate, but the normal deviation is not affected by UV scaling and stretching.

Children Nodes

Image image

The height map image

Parameters

name

type

description

zscale

real

The height scaling, in meters

uvscale

real

The UV coordinates scaling factor. Scales the texture spatially over the geometry

Note

The scale parameter was renamed to zscale after Ocean 2015 beta 3

Ocean XML 5.0 example

<normalshader type="heightmap" name="bump" zscale="0.002" uvscale="1">
     <image type="" name="image" path="paper.jpg"/>
</normalshader>