Hesiod icon indicating copy to clipboard operation
Hesiod copied to clipboard

A desktop application for node-based procedural terrain generation.

Hesiod

A desktop application for node-based procedural terrain generation.

  • binaries: https://sourceforge.net/projects/hesiod
  • Discord: https://discord.gg/HBgFCjdV8W
  • tutorial videos (WIP): https://www.youtube.com/playlist?list=PLvla2FXp5tDxbPypf_Mp66gWzX_Lga3DK
  • documentation (WIP): https://hesioddoc.readthedocs.io

[!WARNING] Work in progress, use at your own risk!

screenshot2_v0 2 0

License

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

Getting started

Standalone executables for Windows and Linux

Available here: https://sourceforge.net/projects/hesiod

Windows

Getting the sources

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

git clone --recurse-submodules [email protected]:otto-link/Hesiod.git

To get the submodules, you will need a GitHub account with its SSH key configured.

Install Qt6 and install the missing OpenSource dependencies using vcpkg:

vcpkg install glfw3 opengl gsl glew freeglut glm libpng glm opencl assimp spdlog opencv

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

Linux

There are also required external dependencies for ubuntu you can execute:

sudo apt-get -y install libglfw3 libglfw3-dev libglew-dev libopengl-dev freeglut3-dev libboost-all-dev libeigen3-dev libglm-dev fuse libfuse2 ocl-icd-opencl-dev libassimp-dev

Getting the sources

Use git to retrieve the sources:

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

To get the submodules, you will need a GitHub account with its SSH key configured.

Building

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 hesiod

Start the main executable:

bin/./hesiod

Development roadmap

See https://github.com/otto-link/HighMap.

Error: Failed to initialize_window OpenGL loader!

Try to install the package glfw or glfw-devel!

Dependencies

  • https://github.com/otto-link/HighMap / A C++ library to generate two-dimensional terrain heightmaps for software rendering or video games.

  • https://github.com/otto-link/GNode / A generic node-based data structure for node graph programming in C++.

  • https://github.com/otto-link/GNodeGUI / a C++ graphical node editor library aimed at providing an interface for building and manipulating nodes in a graphical context.

  • https://github.com/otto-link/Attributes / A C++ library that provides a collection of standard attributes, each paired with a corresponding Qt widget for editing their values.

  • https://github.com/mgaillard/Noise / Dendry: A Procedural Model for Dendritic Patterns