Normal map shader¶
This shader alters the surface normal based on an image giving the normal vector in tangent space coordinates. As the tangent space uses the surface normal as z base vector, this means that a uniform normal map image with (0,0,1) values will be neutral and have no effect. The normal coordinates must be encoded to RGB values using the following convention:
- Red(0 to 1) maps to X or “tangent” (1.0 to -1.0)
- Green(0 to 1) maps to Y or “bitangent” (-1.0 to 1.0)
- Blue(0 to 1) maps to Z or “normal” (-1.0 to 0.0)
The inversion of the red channel is there for compatibility with standard normal map software, which mostly use “Y-top” left-handed base, while Ocean uses “Z-top” right-handed base.
Children Nodes¶
image | The normal vector field map image |
Parameters¶
name | type | description |
---|---|---|
uvscale | real | The UV coordinates scaling factor. Scales the texture spatially over the geometry |
Ocean XML 3.0 example¶
<normalshader type="normalmap" name="bricks" uvscale="5">
<image type="" name="image" path="bricks.jpg"/>
</normalshader>