Martin Wepner

Kamax Terrain Generator

Kamax was initiated during my second semester at TUM in the Game Engine Design practical course. The task was to create a very basic game engine from scratch in C++, that is able to generate a terrain on a predefined grid size using the Diamond-Square algorithm.

Kamax stands for an algorithm which was my attempt to implement Perlin Noise, but I failed due to my laziness in reading the papers properly. The result was an entirely new noise function, that is at first glance the same efficiency as Simplex Noise (have to do some more research on that though). I decided to port my algorithm to Unity3D for an infinite terrain generator. With the help of shaders, I got some quite nice results in visualizing the terrain using just vertex colors. By tweaking some values and experimenting with what I got so far, I managed to get some riverbeds.

In the future, I want to add some nice atmospheric shaders, 4D Kamax, more biomes and to generate the terrain data with compute shaders on the graphics card more dynamically.


  • infinite terrain generation with oceans, lakes, rivers, lowland, mountains
  • multithreaded
  • dynamically configurable LODs
  • low poly (flat shaded) or normal mode
  • vertex colors and thresholds changeable (in runtime, by shader)
  • biome size customizable
  • shape of the terrain defined by


  • Unity3D


  • Christian Diemers (practical course)
  • Yannick Stachelscheid (practical course)
  • Martin Wepner (practicale course and Kamax)


non edited early (private yt) video of kamax terrain generator:


Weiter Beitrag

Zurück Beitrag

© 2021 Martin Wepner

Thema von Anders Norén