I'm playing around with fluid simulation and want to extend my 2D grid-based simulation into 3D; I'm not too interested in the graphical side of things, though. Does anybody have any suggestions for simple, fast rendering engines with volume rendering, that would require the minimum of work to interface with my C++ simulation? I want to be able to pass it a 3D grid of densitites (i.e. smoke density) and have it render it with minimal intervention on my side.
Currently working on a volume based rasterization library... It essentially just maps a 3D texture to a triangle cube with correct perspective on he GPU. Not sure when I'll release it. There are still more features I want to add to it. It should be faster than ray casting methods. If you don't need something in a hurry, keep an eye out.
Depending on what you want to do, it might just be quicker to write your own volume renderer, assuming you already have a simple shader based renderer. If you have access to compute shaders, it is trivial to setup a shader which finds intersections in between your volume box / primitive and your camera rays, and step through each voxel in between those points. Or you can raterize a box with the correct UVs for your voxels both front and back face, and then use the resulting rts to know the exact start and end uvs for each ray. More work to get going, but no math and might be faster, depending on your volume primitives.