Normal_Heights ============== Just a simple (rust) library to create a normal map from a height map. Also includes a thin CLI wrapper. Example Library Usage --------------------- ```rust let img = image::open(input)?; let normal_map = normal_heights::map_normals(&img); normal_map.save(output)?; ``` ```rust let img = image::open(input)?; let strength = 3.14; let normal_map = normal_heights::map_normals_with_strength(&img, strength); normal_map.save(output)?; ``` For a fully executable example, see src/main.rs. CLI Wrapper ----------- ### Help String ``` USAGE: normal-heights [OPTIONS] FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -s, --strength Strength of the resulting normal map. [default: 6.0] ARGS: Input height map image file. Filename to write the normal map to. ``` ### Example Usage ```sh normal-heights heightmap.png normalmap.png ``` Supported Image Formats ----------------------- See Image crate, [version 0.23.7](https://github.com/image-rs/image/tree/78568491ed6504c01cdbacbcfc87bd1c5d61fa52#21-supported-image-formats). Example Output -------------- ### Misc shapes: Input: ![Input shapes heightmap](samples/shapes.png) Output (strength 3.14): ![shapes normal map with strength 3.14](samples/shapes_normal_strength_3.14.png) Output (strength 8): ![shapes normal map with strength 8](samples/shapes_normal_strength_8.png) ### World: Input: ![Input world heightmap](samples/gebco_08_rev_elev_1080x540.png) Output (default strength 6): ![world normal map with default strength 6](samples/gebco_08_rev_elev_1080x540_normal.png)