7
$\begingroup$

I am looking for a explanation about volume rendering in simple words, a step by step kind of, like ray tracing:

for every pixel in the screen plane, trace a ray starting from the eye point to the screen pixel location, a compute the nearest objet intersection in the scene, calculate the pixel color, and so on.

something like that

$\endgroup$

1 Answer 1

5
$\begingroup$

Volume rendering is not like ray-tracing, it is like "scene rendering". i.e. there exists several algorithms to render volumes.

One close to ray-tracing is ray-marching, and has may variants. The simplest: for every pixel in the screen plane, trace a ray starting from the eye point to the screen pixel location, and advance along the ray by constant steps. At each voxel calculate the pixel color and transparency, blend it to the pixel value, and so on.

Blend =

  • $C_{pix} += T_{pix}*C_{vox}*(1-T_{vox})$

  • $T_{pix} *= T_{vox}$

with $C_{vox},T_{vox}$ the color and transparency of the current voxel, and $C_{pix},T_{pix}$ the cumulated color and transparency of the pixel.

$\endgroup$
3
  • $\begingroup$ how the objects in the scene are defined? In ray tracing you calculate intersections using the implicit function, ie, sphere, plane, cone, etc, how is it in ray marching? also can you expaling the meaining of the variables that you wrote in your post? $\endgroup$ Commented Feb 21, 2016 at 4:21
  • $\begingroup$ I mimicked your very definition, which did not defined meshes :-). For volume rendering, the scene is made of density stored in each voxel, i.e. each cell of the 3D grid. $\endgroup$ Commented Feb 21, 2016 at 9:39
  • $\begingroup$ I modified the equation and completed the definition. Now for such basic definitions, you should rather google or open a book. ;-) en.wikipedia.org/wiki/Volume_rendering $\endgroup$ Commented Feb 21, 2016 at 9:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.