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,1−e−μ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 →