Q:

volume rendering: maintain interactivity

I try to implement Raycasting volume rendering using OpenGL, GLSL and C++. As we all know, it is computationally intensive and it is very hard to get good interactivity such as move the viewpoint and zoom in and out. We can use an adaptive scheme for modifying parameters to achieve reactivity during interaction.
One parameter that we can modify is Image Sample Distance: the distance in x and y direction on the image plane between neighboring rays.
When I do raycasting volume rendering, in the first I draw a cube and then render its back face(exit points) and its front face(entry points), then I can do the raycasting pass.
My question is: how to decrease the Image Sample Distance?

A:

My question is: how to decrease the Image Sample Distance?

Ideally by downsampling your original volume data. If your sampling distance is farther than your voxel distance you'll get nasty rendering artifacts. As a general rule your sampling distance should exactly match your voxel distance along the ray.
The application I'm currently programming does deal with high resolution medical images as well. May I ask what resolution your volumes have? The main problem you'll run into is to fit the volume into your GPUs fast memory. If your data exceeds those limits, then the GPU must swap in data from system memory which is slow. This makes easily a difference between interactive rates and a very slow slide show.

