footprint evaluation for volume rendering l.
Skip this Video
Loading SlideShow in 5 Seconds..
Footprint Evaluation for Volume Rendering PowerPoint Presentation
Download Presentation
Footprint Evaluation for Volume Rendering

Loading in 2 Seconds...

play fullscreen
1 / 25

Footprint Evaluation for Volume Rendering - PowerPoint PPT Presentation

  • Uploaded on

Footprint Evaluation for Volume Rendering. A Feed-forward Approach - a.k.a. Splatting. (We ‘used’ to be called Ohio Splatting University (OSU)) . Process for volume rendering. Reconstruct the continuous volume function Shade the continuous function

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Footprint Evaluation for Volume Rendering' - taber

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
footprint evaluation for volume rendering

Footprint Evaluation for Volume Rendering

A Feed-forward Approach - a.k.a. Splatting

(We ‘used’ to be called Ohio Splatting University (OSU))

process for volume rendering
Process for volume rendering
  • Reconstruct the continuous volume function
  • Shade the continuous function
  • Project this continuous function into image space
  • Resample the function to get the image
feed backward vs feed forward
Feed Backward vs. Feed Forward
  • Feed Backward Method: Image space algorithm (Ray casting)
  • Feed Forward: Object space method (Splatting)


ray casting

feed backward vs feed forward4
Feed Backward vs. Feed Forward

Feed forward: Splatting


fill the holes
Fill the holes

We need to fill the pixel values between the

volume projection samples

That is, to fit a continuous

function through the discrete


We can use convolution

to do this


i= -

j= -



g(x,y) = S Sf(i,j) h (x-i, y-j)




Sample value


The output is a weighted

average of inputs


convolution 2
Convolution (2)

Another way of thinking

convolution is to deposit

each function value to

its neighbor pixels


the weighting

function for the


this weighting

function is

called ‘Kernel’

volume rendering and convolution


Volume Rendering and Convolution
  • Feed Backward (ray casting) views convolution as generating outputs as a weighted average of inputs.
  • Feed Forward (splatting) views convolution as generating outputs as inputs distributing energy to outputs.

Ray casting


3d kernel for splatting


3D Kernel for Splatting

Need to know the 3D extent of each voxel, and

Then project the extent to the image plane

This is called ‘footprint’



footprint function

g(x,y,z) = S S Sf(i,j,k) h (x-i, y-j, z-k)

i j k

(i,j,k ranges from - to )



Footprint function
  • Effect [(i,j,k)->(x,y,z)] = f(i,j,k) x h (x-i, y-j, z-k)
  • Effect [(i,j,k)->(x,y)] = f(i,j,k) x h (x-i, y-j, z-k) dz
  • = f(i,j,k) h (x-i, y-j, z-k) dz
footprint function 2



Footprint Function (2)
  • Effect [(i,j,k)->(x,y)] = f(i,j,k) h (x-i, y-j, z-k) dz

If we place f(i,j,k) at the origin

Then function weight [(i,j,k)->(x,y)] is

h (x, y, z) dz = footprint(x,y)



This footprint function defines how much voxel (i,j,k) will deposit its

value to pixel (i+x, j+y) -> f(I,j,k) x footprint(x,y)

footprint function 3
Footprint Function (3)

Pixel (i+x,j+y) receives f(i,j,k) x footprint(x,y)

value deposits


The final value of pixel (i+x,j+y) will be a total sum

of the contributions from its surrouding voxel projections

footprint function 4

footprint (x,y) = h (x, y, z) dz


Footprint Function (4)
  • Evaluating footprint(x,y) on the fly is too time
  • Consuming - involves integration of the the
  • kernel function h(x,y,z)
  • We can build the footprint table at preprocessing time
  • The kernel function can be any (depends on the renderer)
footprint extent
Footprint Extent

Approximate the 3D kernel (h(x,y,z))extent by

a sphere

footprint table
Footprint Table

A popular kernel is a three-dimensional Gaussian

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



view dependent footprint
View-dependent footprint

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
footprint value lookup
Footprint Value Lookup
  • For rectilinear meshes, the footprint of each sample is identical except for an image-space offset.
  • The renderer only needs to calculate footprint function once for each view.
  • Weight is calculated by table lookup at the footprint function value at each pixel that lies within the footprint’s extend
  • Splatting uses the compositing operator to perform visibility
  • Either front to back or back to front compositing (different formula)
  • The problem for simply composite sample’s footprint onto the accumulation buffer sample by sample
effects of no of entries of the table
Effects of No. of entries of the table
  • Time versus space tradeoff
  • If a lot of entries, nearest neighbor works fine
  • If coarse, interpolate from nearest samples.
  • For smaller table size, interpolation gives much better results.
  • Images (figure 2 in the paper).
effects of kernel function
Effects of Kernel function
  • The choice of kernel can affect the quality of the image.
  • Examples of cone, gaussian, sync, and bilinear function.
  • Different from “existing” algorithms (ray casting)
  • More efficient (sometimes)
  • Easy to make parallel