Renders a 2D heightfield image into a shading image.
You can choose between lambertian model (diffuse reflectance) and specular model (Nayar reflectance model). You can also choose between a single directional light source (using -l{x,y,z} options) or use light source which emits in all direction (by specifying the light source position with -p{x,y,z} option). Another rendering mode is given from a bitmap reflectance map which represents the rendering for a normal vector value (mapped according the x/y coordinates).
Usage: heightfield2shading [input] [output]
Allowed options are:
-h [ --help ] display this message
-i [ --input ] arg heightfield file.
-o [ --output ] arg output image.
--importNormal arg import normals from file.
-s [ --specularModel ] arg use specular Nayar model with 3 param Kdiff,
Kspec, sigma .
--lx arg x light
source direction.
--ly arg y light
source direction.
--lz arg z light
source direction.
--px arg x light
source position.
--py arg y light
source position.
--pz arg z light
source position.
-r [ --reflectanceMap ] arg specify a image as reflectance map.
Example:
$ heightfield2shading -i ${
DGtal}/examples/samples/bunnyHeightField.pgm -o shading.pgm --lx 0.0 --ly 1.0 --lz 1.0 --importNormal ${
DGtal}/examples/samples/bunnyHeightField_normals.sdp -s 0.2 0.8
You will obtain such image:
Resulting image with a 90° ccw rotation
- See also
- heightfield2shading.cpp