Processing math: 100%
VolumeRendering

Emission and Absorption with TF

TF Editor | | Isosurface Extraction

Non linear transfer functions TFA=ρ(s(t)) resp. TFE=κ(s(t)):

Transfer functions are stored as 1D RGBA texture, where the RGB channels correspond to κ(s(t)) and the A channel corresponds to \rho(s(t)).

Realization of numerical integration with OpenGL dependent texture lookup: Numerical integration by view-aligned slicing with slice distance Δt, Over-Operator and constant vertex color (μEΔt,μEΔt,μEΔt,1eμAΔt), 3D-texture lookup of s(t) and modulation of vertex color with dependent-texture lookup of κ(s(t)) resp. modulation of vertex opacity with dependent-texture lookup of ρ(s(t)).

Using an OpenGL fragment program:

!!ARBfp1.0

TEMP tmp, col;

# get data from 3D texture
TEX tmp.x, fragment.texcoord[0], texture[0], 3D;

# dependent 1D texture lookup
TEX col, tmp, texture[1], 1D;

# modulate and write to output register
MUL result.color, col, fragment.color.primary;

END


TF Editor | | Isosurface Extraction

Options: