1 / 17

Splatting

Splatting. Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms. Backward mapping Image plane mapped into data Ray casting Forward mapping Map data onto image plane Accumulate image front-back, back-front Image complete when every data point displayed or pixel “full”.

china
Download Presentation

Splatting

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Splatting Josh Anon Advanced Graphics 1/29/02

  2. Types of Rendering Algorithms • Backward mapping • Image plane mapped into data • Ray casting • Forward mapping • Map data onto image plane • Accumulate image front-back, back-front • Image complete when every data point displayed or pixel “full”

  3. Backward Mapping Problems • Basic parallel solns require volume be duplicated at each node • Input values often not right on ray, so interpolated • Requires anti-aliasing to correct for tri-linear interpolation

  4. Goal of Splatting • Avoid artifacts from convential volume rendering • Simplify computation • Parallelize, lookup tables, etc. • Be fast!

  5. Enter Forward Mapping Algo • Treat each data point in isolation so avoid replicating volume • Since working in 2D with a footprint function, don’t have to interpolate • Footprint = area of pixels a voxel affects • Uses tables as often as possible

  6. Basic Algorithm • Input mapped to screen space • Density, gradient strength/direction, and screen coordinates • Packet then shaded • Splatted • Composited

  7. Screen mapping • DDA Dx Dy Dz dx/di dx/dj dx/dk dy/di dy/dj dy/dk dz/di dz/dj dz/dk Di Dj Dk =

  8. Shading • 4 tables • Emitted color • Reflected color • Opacity • Table to modulate opacity • Also use gradient vector for each sample (generated during pre-processing)

  9. Calculations • Iemit = Tableemit[indexemit] • Idiff = Tablerefl[indexrefl] * dot(l, g) • Ispec = Tablerefl[indexrefl] * dot(h, g)n • L: light vector, g: gradient, h: vector half-way between eye and light, n: specular power • Ifin = Iemit + Idiff + Ispec

  10. Opacity • Afin = Tableopac[indexopac] * Tablemod[indexmod] • Colors in table are opaque color, so color attenuated by opacity during combining phase

  11. Reconstruction • Backward mapping associates pixel w/ n samples • Forward mapping associates a sample w/ n pixels • Reconstruct image-space voxels by using a filter

  12. Reconstruction… • Vol reconstruction eqn • i ranges over input samples in kernel centered @ (x,y,z) • Effect @ point(x,y,z) from sample i is:

  13. Combining Samples • Old: integrate brightness along view direction • New: footprint function that lets you compute the weight of a pixel affected by a sample

  14. Using Tables • Footprint independent spatial position, so store in a table • When rendering, multiple RGBA by table value and add to buffer • Splatting: process of table lookup, weighting, and combining

  15. Sample front-back traversal • Io = Ic + ((1-Ac) * (In*An)) • Ao = Ac + ((1-Ac) * An) • I: intensity, A: opacity, o: output, c: what’s in image buffer, n: point

  16. Results • 96x128x113 CT scan rendered at full res in < 3 minutes (low-res at ~3 seconds) • (Except for a Sun-3/60M w/ 8MB memory) • Certainly faster on today’s machines, esp if using hardware

  17. Time to draw in sec (clockwise, upper left): 3,9,65,165

More Related