#normal #create #maps #height #graphics #shapes #normal-map

bin+lib normal-heights

Creates normal maps from height maps

3 releases

0.1.2 Mar 11, 2023
0.1.1 Aug 20, 2020
0.1.0 Aug 16, 2020

#496 in Images

25 downloads per month

MIT license

695KB
135 lines

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

    let img = image::open(input)?;
    let normal_map = normal_heights::map_normals(&img);
    normal_map.save(output)?;
    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] <INPUT> <OUTPUT>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -s, --strength <strength>
            Strength of the resulting normal map. [default: 6.0]


ARGS:
    <INPUT>     Input height map image file.
    <OUTPUT>    Filename to write the normal map to.

Example Usage

    normal-heights heightmap.png normalmap.png

Supported Image Formats

See Image crate, version 0.23.7.

Example Output

Misc shapes:

Input:

Input shapes heightmap

Output (strength 3.14):

shapes normal map with strength 3.14

Output (strength 8):

shapes normal map with strength 8

World:

Input:

Input world heightmap

Output (default strength 6):

world normal map with default strength 6

Dependencies

~13MB
~61K SLoC