
Controllab
Dredging
Internship
Throughout the first half of 2025 i was working on an internship assignment for Controllab in Enschede.
​
Aimed at providing the company with insight into optimizations in the Unity engine and a possible solution for a problem they had at the time: the terrain of a dredging simulation had to be edited in real-time. A large portion of land had to be visualized in detail at minimal processing expence.
​
The marching cubes algorithm was chosen for this terrain, and the system was optimized in a number of ways. Both CPU multithreading and GPU Compute shaders were used to boost the performance of the system, resulting in a robust terrain that has a minimal performance impact whilst looking good and allowing for real-time editing.

Real time simulation
The main limitation of the project was the performance, as the terrain could only use a small part of available computer resources. A lot of optimizations had to be employed to make this a reality.

Level of detail octree
The terrain uses an octree to do space partitioning. This system allows for the generation of a
6000 x 6000 km terrain in real-time.

Compute shader optimizations
Pregenerated maps can be loaded and edited through compute shaders, allowing for real time editing of large portions of the terrain without any slowdowns.