Implementation of the marching cubes algorithm to visualise isolines of scalar fields. Implemented using Unity3D and multithreaded using the Unity Job System with the Unity Burst compiler. For the fluid stream benchmark scene using the job system and burst compiler increases the framerate from +/- 25 fps to +/- 85 fps on an (8 core/16 thread) Intel i7 11700 CPU. Currently the scripts are setup to recalculate the complete mesh every frame for benchmarking purposes.
Currently implemented:
- 3D marching cubes for visualising scalar fields, mesh generation optimization by using the Unity C# Job System and Burst compiler.
- System to construct scalar fields by adding variable strength point charges to the scene.
- Toggleable vertex welding and normal interpolation by using dictionaries.
- Toggleable vertex interpolation to switch between "voxel" look and smooth look.
- Support for varying cube size and number for speed/resolution trade-off.
- Support for varying scalar field drop-off for the ball charges to control interaction range.
Metaballs
Stream of metaballs for a fluid like effect
The two most resource-intensive tasks scheduled to the pool of workers