60 likes | 227 Views
Volume Clipping via Per-Fragment Operations in Texture-Based Volume Visualization. Visualization and Interactive Systems Group University of Stuttgart Germany. Approach. Currently Primitive clip planes Clip object specified Clip geometry using a polygon mesh
E N D
Volume Clipping via Per-Fragment Operations in Texture-Based Volume Visualization Visualization and Interactive Systems Group University of Stuttgart Germany
Approach • Currently • Primitive clip planes • Clip object specified • Clip geometry using a polygon mesh • Volumetric 3d textures as a voxel mask
Depth-based clipping • Straightforward approach • 1 boundary • Render clip to depth buffer • Disable writing to depth buffer; • Enable depth test • “Greater” or “less” • - Render textures Depth structure for 1 pixel in the frame buffer
Depth-based volume probing • – Render front faces of geometry to depth buffer to get zfront • Store depth buffer to a texture (gfx-mem) • Fragment shader shifts all depth by –zfront • Render back faces • Render slices with depth shift/test
Volumetric Clip Textures • Voxelise the clip geometry as binary volume • 1: voxel is inside ; 0: voxel is clipped • Per-fragment multiplicaton of vol*clip texture • Disadvantages • Jaggy artifacts due to discretization
Results • Voxel Clipping • Varying alpha for smooth variation • Visible jaggy edges :trilinear interpolation doesn’t give sharp edges • Reuse clip texture – cylinder as many translated 2d circle texture • Clip Geometry • High quality (per pixel) • No aliasing • Change of geometry is trivial • slower (x4) • - Convex geometry (multipass??)