Raytracing Metaballs
The Rendering Path
- Check if the ray intersects any bounding spheres of any of the metaballs
- Create a list of all the metaballs whose bounding spheres were intersected
- Find the nearest and farthest intersections with bounding spheres
- "Inch" along the ray between these two points, until we reach the threshold
charge
Finding the normal
The surface normal at any point on the metaball can be calculated in one of two
ways:
- Finding the gradient, like with quadrics
- Taking a weighted average of the normals for each point charge
The first method is not feasable, and the second method works just fine.