Processing math: 100%
VolumeRendering

Emission

Integration with OpenGL | | Emission and Absorption

Assumption: no absorption, just emission

  • Emitted light is accumulated on the viewing rays
  • Accumulated intensity is linear proportional to the traveled ray length
TFRGB(s)=μEs
I=I0+1t=0μEs(t)dt

Numerical integration step:

I=I+μEs(t)Δt

Realization of numerical integration with OpenGL: Numerical integration by view-aligned slicing with slice distance Δt and add-operator with constant vertex color (μEΔt,μEΔt,μEΔt) and modulation of vertex color with 3D-texture lookup of s(t).

Ambient background emission needs to be disabled.
Non-linear transfer function TFE=κ(s(t)) allows coloring of specific materials based on their scalar value (using a TF Editor):

Neon-Foot

Colored via transfer function:

DVR-Emission

Advantages:

  • commutative
  • colors

Disadvantages:

  • still no depth perception
  • emission gets saturated quickly

Vertex color:

glColor4f(muE*dt,muE*dt,muE*dt,0);

3D texture modulation:

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

Add-operator with OpenGL-blending:

glBlendFunc(GL_ONE,GL_ONE);
glEnable(GL_BLEND);


Integration with OpenGL | | Emission and Absorption

Options: