Raytracing Meta-Balls without Raymarching
In all examples online that I have seen, when rendering meta-balls (level sets of a potential function), the point of ray-meta-ball intersection is always 开发者_如何学Gofound by raymarching. Are there any alternatives to this for determining the point explicitly?
There's been some work on approximating the surface of the metaball by using a GPU to blast out several thousand points on the surface very rapidly, then rendering the object as a polyhedron, but that's probably not what you're after. (Check out GPU GEMS 3 for this one.)
Ray marching is slow as all hell, but there are lots of tricks you can find to speed the process up. You can eliminate spheres that will fail to contribute to the surface along a particular line and never compute with them, etc. There's a quick intro to such topics here:
http://www.geisswerks.com/ryan/BLOBS/blobs.html
精彩评论