Skip to content

Latest commit

 

History

History
76 lines (51 loc) · 1.86 KB

README.md

File metadata and controls

76 lines (51 loc) · 1.86 KB

HighMap

A C++ library to generate two-dimensional terrain heightmaps for software rendering or video games. HighMap is the core solver of the Hesiod GUI.

Warning

Work in progress, use at your own risk!

License

This project is licensed under the GNU General Public License v3.0.

Python binding

pyHighMap allows you to use a few functionalities (for now) of HighMap directly in your Python projects.

pip3 install pyhighmap

Getting started

Getting the sources

Use git to retrieve the sources:

git clone [email protected]:otto-link/HighMap.git
cd HighMap
git submodule update --init --recursive

Building

Linux

Build by making a build directory (i.e. build/), run cmake in that dir, and then use make to build the desired target.

Example:

mkdir build && cd build
cmake ..
make

Simple examples are provided for most of the functions, for instance:

bin/./ex_noise_fbm
eog ex_noise_fbm_*.png

Windows

Use PowerShell to clone the repository (because Visual Studio won't clone the submodules) using git command lines (see above).

Install the missing OpenSource dependencies using vcpkg:

vcpkg install libpng glm ocl-icd-opencl-dev assimp opencv

You should then be able to build the sources using Visual Studio.

CMake Integration

To integrate HighMap into your CMake-based project, follow these steps:

  1. Add the library to your project's CMakeLists.txt:
    add_subdirectory(HighMap)
    target_link_libraries(your_project_target highmap)
  2. Link the highmap library to your target, as shown above.

Usage examples

See the examples folder.