Procedural Generation Project

2022 · C++ Application · Solo Side Project (3 months) · OpenGL / C++

Please allow for Cookies to watch embedded YouTube content here.

This Procedural Generation Project (PGP) is a graphics programming prototype created with OpenGL and C++. Inspired by Minecraft-like visuals, the project generates a landscape containing multiple settings that differ in vegetation and geographical aesthetics.

The application reads in noise visuals to then generate and render various cube-based entities each with different textures in accordance to the defined vegetation. The goal of this project is to let the user configure different settings to then generate landscapes in simple ways.

PGP was a great opportunity to dive deeper into more low-level concepts such as rendering, performance optimisation, memory management and multithreading.

Features

  • Procedural Generation
    • Landscape can be generated, reset and regenerated on simple button presses.
    • Generation settings can be defined in configuration files (e.g., world size, background color, enabled snow, animation settings) that are then read by the application.
    • Geography and resulting vegetation depends on surrounding cubes (e.g., sand is located close to water, rocks at steep descents, snow at higher altitudes).
  • Rendering
    • Efficient rendering of landscape by using multithreading and hollowed cube groups.
    • Camera can freely navigate through the scene.
    • Tiles support alpha channel by simply replacing textures in Ressources folder.

CODE: github.com/m-gebhart/PGP_OpenGL

This website only uses cookies on my project pages to allow for embedded YouTube videos.
Do you want to accept non-essential tracking to view any YouTube content on this website?