Skip to content

andrewmzhang/blinn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metaball/Spheres Raytracer

Renders metaballs and spheres. Uses native C++17. Uses CUDA 9.0 and png++ to render and write pngs to file, respectively. I use ffmpeg or gifski to stich together videos and gifs.

Current Features and Methods

Renders metaballs and spheres using ray marching and raytracing, respectively. Metaball rendering is done by first checking if a ray will enter a proper bounding sphere, before inching a ray through the bounding sphere to determine where the isosurface lies. This task is parallelized with GPUs (embarrassingly parallel task).

To create an interesting animation, metaballs are connected to each other with springs with various k values. We let the physics dictate the movement of the metaballs (each with a mass of 1kg) between frames. See GIF below:

Metaball Gif

Youtube Links

Todo:

  • Finish writing this README...
  • Implement Phong Speculars
  • Implement Multiple light sources
  • Add Youtube Links
  • GPU rendering for parallelism

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published