Home - Alexander-Hjelm/metaballs-glfw GitHub Wiki

Welcome to the metaballs-glfw wiki!

Project plan:

Rendering

  1. Render a primitive shape
  2. Mathematical definition of a single metaball's potential field.
  3. Define the potential field isosurface in code
  4. Define the additive potential field isosurface (multiple balls)
  5. Implement the marching cubes algorithm as a geometry shader
  6. Render a single metaball with marching cubes
  7. Render multiple metaballs with interacting potential fields

Physics

  1. Collision compute shader or external physics library
  2. Gravity
  3. Sphere-sphere collision
  4. Sphere-cube collision
  5. Build environment using cubes

References

Hello Triangle

Primitive Rendering

Marching Cubes

Metaballs rendering