VolumeRendering

Numerical Integration

Absorption | | Integration with OpenGL

Single step of numerical integration:

$ I' = I \cdot e^{−\mu(t) \cdot \Delta t} $

Numerical integration with alpha-blending:

$ I' = I \cdot (1-alpha) $
$ alpha = 1 - e^{-\mu(t) \cdot \Delta t} $

Approximation for small $\Delta t$:

$ alpha = 1 - e^{-\mu_As(t) \cdot \Delta t} $
$ alpha = (1 - e^{-\mu_A \Delta t}) s(t) $

Over-Operator:

$RGB_{frame}' = A_{fragment}RGB_{fragment} + (1-A_{fragment})RGB_{frame}$

with

$ RGB_{fragment} = (0,0,0) $
$ A_{fragment} = 1 - e^{-\mu_A s(t) \cdot \Delta t}$

Further approximation:

$ A_{fragment} = 1 - e^{-\mu_A \cdot \Delta t}$ moduliert mit $s(t)$

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

Ambient background emission (white background) is attenuated:

X-Ray Positiv:

X-Ray Negativ:

  • Advantage: commutative
  • Disadvantage: no depth perception


Absorption | | Integration with OpenGL

Options: