Presentation is loading. Please wait.

Presentation is loading. Please wait.

Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.

Similar presentations


Presentation on theme: "Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping."— 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 xyzxyz dx/di dx/djdx/dk dy/didy/djdy/dk dz/didz/djdz/dk ijkijk =

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 I emit = Table emit [index emit ] I diff = Table refl [index refl ] * dot(l, g) I spec = Table refl [index refl ] * dot(h, g) n L: light vector, g: gradient, h: vector half- way between eye and light, n: specular power I fin = I emit + I diff + I spec

10 Opacity A fin = Table opac [index opac ] * Table mod [index mod ] 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 I o = I c + ((1-A c ) * (I n *A n )) A o = A c + ((1-A c ) * A n ) 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


Download ppt "Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping."

Similar presentations


Ads by Google