VolumeRendering

Emission and Absorption

Emission | | Windowing

Optical Model of a self-emitting gas with simultaneous emission and absorption:

Linear transfer functions $TF_A=\mu_A s$ resp. $TF_E=\mu_E s$.

Realization of numerical integration with OpenGL: Numerical integration by view-aligned slicing with slice distance $\Delta t$ with Over-Operator and constant vertex opacity $1 - e^{-\mu_A \Delta t}$, constant vertex color $(\mu_E \Delta t,\mu_E \Delta t,\mu_E \Delta t)$ and modulation of vertex color with 3D-texture lookup of $s(t)$.

Ambient background emission needs to be enabled.
Non-linear transfer function $TF_E=\kappa(s(t))$ allows masking and coloring of specific materials (using a TF Editor):

DVR-Foot DVR-Engine

Visible Male:

DVR-EmiAbs

Advantages:

  • Self Emission of objects adds to background emission → better contrast.
  • Objects can occlude each other partially or completely depending on their opacity.
  • → very good depth perception.

Disadvantages:

  • non-commutative
  • View-aligned slices need to be rendered in back to front order!

Vertex color:

glColor4f(muE*dt,muE*dt,muE*dt, 1-exp(-muA*dt));

3D texture modulation:

glEnable(GL_TEXTURE_3D);
glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);

Over-operator with OpenGL-blending:

glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);


Emission | | Windowing

Options: