1
play

1 Splatting Splatting Algorithm: Process from closest voxel to - PDF document

Object Order Splatting Render image one voxel at a time Volume Rendering has three key steps Reconstruction Integration or projection for each voxel ... - transfer function Material attributes and classification - determine


  1. Object Order Splatting � Render image one voxel at a time � Volume Rendering has three key steps � Reconstruction � Integration or projection for each voxel ... - transfer function � Material attributes and classification - determine image contribution - composite 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 103 104 Reconstruction Integration � Given a discrete set of points, determine a � Our reconstruction will give us a continuous function of the form: continuous function that interpolates or f( x,y,z ) = ∑ k ∑ j ∑ i f i h ( x-i,y-j,z-k ) approximates the discrete data. where f i are the discrete data points, and h () is � Different functions are created with the reconstruction function. different basis or interpolation kernels. � We seek the volume integral with respect to f(). V (f) = ∫ β f( x,y,z )e - ∫ ρ f( x,y,t )dt dz when looking down the z-axis. � For x-ray model, V (f) = ∫ β f( x,y,z )dz 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 105 106 Splatting Splatting � Lee Westover - Vis 1989; SIGGRAPH 1990 � Object order method � Front-To-Back or Back-To-Front � Main idea: Throw voxels to the image � 5/12/2003 R. Crawfis, Ohio State Univ. 107 5/12/2003 R. Crawfis, Ohio State Univ. 108 1

  2. Splatting Splatting Algorithm: � Process from closest voxel to furthest voxel � � Biggest problem: determination of voxel’s projected area called its footprint 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 109 110 Splatting Splatting � Volume = field of 3D interpolation kernels � Volume = field of 3D interpolation kernels � One kernel at each grid voxel � One kernel at each grid voxel � Each kernel leaves a 2D footprint on screen � Each kernel leaves a 2D footprint on screen � Voxel contribution = footprint ·(C, opacity) � Voxel contribution = footprint ·(C, opacity) � Weighted footprints accumulate into image � Weighted footprints accumulate into image screen footprints screen footprints voxel kernels voxel kernels = splats = splats screen screen 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 111 112 Splatting Splatting � Volume = field of 3D interpolation kernels � Volume = field of 3D interpolation kernels � One kernel at each grid voxel � One kernel at each grid voxel � Each kernel leaves a 2D footprint on screen � Each kernel leaves a 2D footprint on screen � Voxel contribution = footprint ·(C, opacity) � Voxel contribution = footprint ·(C, opacity) � Weighted footprints accumulate into image � Weighted footprints accumulate into image screen footprints screen footprints voxel kernels voxel kernels = splats = splats screen screen 5/12/2003 R. Crawfis, Ohio State Univ. 113 5/12/2003 R. Crawfis, Ohio State Univ. 114 2

  3. Ray-casting - revisited Ray-casting - revisited Interpolation � (ideally) we would reconstruct the continuous volumetric compositing kernel volume (cloud) using the interpolation kernel h: color c = c s α s (1 - α ) + c ∑ = − f ( v ) h ( v v ) f ( v ) r k k opacity α = α s (1 - α ) + α k � the we would compute the analytic integral along a ray r: ∫∑ ( ) ( ) ∫ = + = + − I ( p ) f ( p r ) dr h p r v f v dr 1.0 r k k k � this can only be approximated by discretization object (color, opacity) 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 115 116 Splatting - principal idea Footprint Extent � This last equation ( ) ( ) ∫∑ Approximate the 3D kernel (h(x,y,z))extent by = + − I ( p ) h p r v f v dr k k a sphere k � can be rewritten in the following way: ∑ ( ) ( ) ∫ = + − I ( p ) f v h p r v dr k k k Splatting Kernel or “Splat” � Which can be computed analytically analytically : known as footprint ( ) dz ∫ = Splat ( x , y ) h x , y , z 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 117 118 3D kernel Integrate to footprint table pixels Filter footprint Filter kernel 3D filter kernel Integrate along one dimension y filter extent Image-space splat 2D filter kernel coordinate x filter extent The 3D rotationally symmetric filter kernel is Positioning each splat on the screen and compositing the contribution into each pixel integrated to produce a 2D filter kernel 5/12/2003 R. Crawfis, Ohio State Univ. 119 5/12/2003 R. Crawfis, Ohio State Univ. 120 3

  4. Footprint Table Overlapping Problem Splat 2 Splat 1 A popular kernel is a three-dimensional Gaussian (radially symmetric) As 1D integration of 3D Gaussian is still a 2D Gaussian – we can just skip the Z integration and evaluate the Gaussian function on 2D image space after voxel projection Generic footprint table Desired result preprocessing 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 121 122 Overlapping Problem View-dependent footprint Splat 2 Splat 1 It is possible to transform a sphere kernel into A ellipsoid • The projection of an ellipsoid is an ellipse • We need to transform the generic footprint table to the ellipse Actual result 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 123 124 Example Footprint at Different View-dependent footprint (2) Resolutions 5/12/2003 R. Crawfis, Ohio State Univ. 125 5/12/2003 R. Crawfis, Ohio State Univ. 126 4

  5. Footprint - principal idea Rendering a Splat � Use texture mapping hardware to resample � Draw each voxel as a cloud of footprint table (either single density points (footprint) that spreads the voxel channel or separate classified r,g,b,a contribution across multiple channels) pixels. � Larger footprint -> larger spatial kernel extent -> lower frequency components -> more blurring � Large pixel/voxel ratio 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 127 128 Splatting: Splatting: Original Implementation Original Implementation � Volume � Add voxel kernels within first sheet voxels voxels sheet buffer Rasterization image plane compositing buffer image plane 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 129 130 Splatting: Splatting: Original Implementation Original Implementation � Add voxel kernels to the image. � Add voxel kernels to the image. voxels voxels image plane image plane 5/12/2003 R. Crawfis, Ohio State Univ. 131 5/12/2003 R. Crawfis, Ohio State Univ. 132 5

  6. Splatting: Splatting: Original Implementation Second Implementation � Add voxel kernels to the image. � Do for all voxels in some bak-to-front order. voxels voxels image plane image plane 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 133 134 Splatting - efficiency Splatting - Highlights � “footprint” - splatted (integrated) kernel � Footprints can be pre-integrated � if interpolation kernel is radially symmetric � fast voxel projection (spherical) then its footprint is independent of the view point (for orthographic viewing) � Advantages over ray-casting: � for perspective - footprint can be approximated with � Fast: voxel interpolation is in 2D on screen an ellipse � More accurate integration (analytic for X-ray) � Hence, for common cases, we can pre-integrate it (efficient!) � More accurate reconstruction (afford better kernels) � for perspective projection, to approximate, we have � Only relevant voxels must be projected to compute the orientation of the ellipse 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 135 136 Early Implementation – Axis Splatting: Highlights Aligned Splatting � Footprints can be pre-integrated � Voxel kernels are added within axis-aligned sheets � fast voxel projection � Sheets are composited front-to-back � Advantages over raycasting: � Sheets = volume slices most perpendicular to � Fast: voxel interpolation is in 2D on screen the image plane � More accurate integration volume slices volume slices z ⌧ analytical for X-ray y � More accurate reconstruction x ⌧ afford better kernels � Only relevant voxels must be projected image plane at 30° image plane at 70° 5/12/2003 R. Crawfis, Ohio State Univ. 137 5/12/2003 R. Crawfis, Ohio State Univ. 138 6

  7. Splatting: Splatting: Second Implementation Second Implementation � Voxel kernels are added within sheets � Volume � Sheets are composited front-to-back � Sheets = volume slices most volume slices perpendicular to the image plane volume slices z volume slices y x sheet buffer image plane compositing buffer image plane at 30° image plane at 70° 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 139 140 Splatting: Splatting: Second Implementation Second Implementation � Add voxel kernels within first sheet to an auxillary � Transfer to the compositing buffer buffer. volume slices volume slices sheet buffer sheet buffer image plane image plane compositing buffer compositing buffer 5/12/2003 R. Crawfis, Ohio State Univ. 5/12/2003 R. Crawfis, Ohio State Univ. 141 142 Splatting: Splatting: Second Implementation Second Implementation � Add voxel kernels within second sheet � Composite sheet under the compositing buffer volume slices volume slices sheet buffer sheet buffer image plane image plane compositing buffer compositing buffer 5/12/2003 R. Crawfis, Ohio State Univ. 143 5/12/2003 R. Crawfis, Ohio State Univ. 144 7

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend