- Terrain Mesh Generator implemented in C/C++ using ImGui and OpenGL libraries. Currently available on macOS, but can be made to work on Linux with minor tweaks in code.
User can choose between 5 different biome types
Every texture is mapped to a certain height on the y-axis. User can change the height boundaries for different textures and alter the look of the terrain mesh.
Before building the project, ensure you have the following installed:
- CMake (version 3.10 or later)
- A C++ Compiler supporting C++17
- GLFW:
On macOS, you can install GLFW using Homebrew:
brew install glfw
- GLEW:
Install GLEW using Homebrew:
brew install glew
- OpenGL:
macOS provides OpenGL as part of its system libraries, so no additional installation is needed.
- ImGui:
The ImGui library is included in the project under the vendor/ImGui directory, so no extra installation is needed for it.
- Fly mode allows you to move and look around the scene. Hides and captures your mouse cursor.
- User-input mode shows your mouse cursor and allows you to interact with the ImGui window.
-
This project uses ImGui, which is licensed under the MIT License, see LICENSE.
-
This project uses STB, which is licensed under the MIT License, see LICENSE.
-
The Chernos OpenGL beginner series helped me get the grasp of the basic concepts and abstractions. My implementation is greatly inspired by the tutorial series.
-
OGLDevs(Etay Meiri) Terrain Generation series
which helped me understand different algorithms and methods described in the book from Trent Polack - Focus on 3D Terrain Programming. I tried to replicate his implementation using my framework. Link to the Etay's GitHub repo.