177
6.837 Assignment 10 Presentations December 7 th & 9 th , 2004

6.837 Assignment 10 Presentations

  • Upload
    sabin

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

6.837 Assignment 10 Presentations. December 7 th & 9 th , 2004. Mike E. Distributed Ray Tracing. Effects created by sending many rays from a random distribution. Used for depth of field effects, glossy reflections, and soft shadows - PowerPoint PPT Presentation

Citation preview

Page 1: 6.837  Assignment 10  Presentations

6.837 Assignment 10 Presentations

December 7th & 9th, 2004

Page 2: 6.837  Assignment 10  Presentations

Mike E.

Page 3: 6.837  Assignment 10  Presentations

Distributed Ray Tracing

• Effects created by sending many rays from a random distribution.

• Used for depth of field effects, glossy reflections, and soft shadows

• My implementation reused Sampler and Film objects for creating distribution average

Page 4: 6.837  Assignment 10  Presentations

Depth of Field results...

Normal Scene Yellow Ball focus Blue Ball Focus

Page 5: 6.837  Assignment 10  Presentations

Ning S.

Page 6: 6.837  Assignment 10  Presentations

Distribution Raytracing

To be random is to be realistic.

Ning Song6.837 Assignment 10 Presentation

12/07/04

Page 7: 6.837  Assignment 10  Presentations

Soft Shadows

• Light sources in the real world have area.• Represent light source as infinite number of

points.• For each shadow ray, sample a random point on

light source.• Be sure that pixel and shadow samples don’t

correspond.• Note that number of samples has significant

impact on image quality.

Page 8: 6.837  Assignment 10  Presentations

Point light, no soft shadows

Area light, soft shadows, 16 samples/pixel

Area light, soft shadows, 64 samples/pixel

Page 9: 6.837  Assignment 10  Presentations

Depth of Field

• Real world camera has area (vs. usual pinhole camera model)

• Model camera (eye) as square or circular disk with area a.

• Sample various eye positions on disk while maintaining line of focus (i.e., sample from focal plane). http://glasnost.itcarlow.ie/~powerk/Graphics/Notes/node12.html#SECTION001280000000000000000

• Larger lens size means more things out of focus, smaller lens size means more in focus.

Page 10: 6.837  Assignment 10  Presentations

Perfect focus Small lens size Large lens size

Page 11: 6.837  Assignment 10  Presentations

Glossy Reflection

• Glossy surfaces have non-ideal reflections (i.e., blurry reflections).

• Implement by varying reflection rays (i.e., sampling reflection ray directions).

• For each surface hit point, perturb ideal reflection ray using perpendicular square with length a, which is degree of blurriness.

Page 12: 6.837  Assignment 10  Presentations

Perfect reflection Glossy Reflection, 16 samples/pixel

Glossy reflection, 64 samples/pixel

Page 13: 6.837  Assignment 10  Presentations

Motion Blur

• Image is formed over non-zero span of time.• For each ray, pick a random time between

t_start and t_end, and intersect with moving primitive.

• Resulting image will again be blurred.• Important to specify both start and end positions

of object in order to calculate bounding boxes for ray acceleration.

Page 14: 6.837  Assignment 10  Presentations

T = 0 T = 5 T = 10

Page 15: 6.837  Assignment 10  Presentations

(1) James T.

Page 16: 6.837  Assignment 10  Presentations

TriangleMeshGroup & CSGs

James Tolbert, II

Assignment 10 Presentation

6.837

Page 17: 6.837  Assignment 10  Presentations

Triangle Mesh Group

• No new Object3D, Group subclass

• Only Override the inside Method

• Parse calls TriangleMeshGroup

Page 18: 6.837  Assignment 10  Presentations

Pictures

Difference Intersection Union

Page 19: 6.837  Assignment 10  Presentations

CSG Plane

Page 20: 6.837  Assignment 10  Presentations

Some of Text File• Group {• numObjects 6

• Transform {• Translate 0 0 1• Group {• numObjects 2• Transform {• Translate 3 3 0• Scale 0.5 0.6 0.5• Group {• numObjects 4• MaterialIndex 0• Transform {• Scale 2 2 2• Group {• numObjects 1• Difference {• TriangleMesh {• obj_file cube.obj• }• Sphere {• center 0 1 0• radius 0.8• }• }• }• }•

Transform { Translate 0 5 0 Scale 1 5 1 XRotate 180 Group { numObjects 1 Intersection { TriangleMesh { obj_file cube.obj } Sphere {

center 0 1 0 radius 1

} } } } Transform { Translate 0 -5 0 Scale 1.5 4 1.5 Group { numObjects 1 Intersection { TriangleMesh { obj_file cube.obj } Sphere {

center 0 1 0 radius 1

} } } } Transform { Translate 0 2 0 Scale 1.4 0.5 1.4 XRotate 180 Group { numObjects 1 Intersection {

TriangleMesh { obj_file cube.obj } Sphere {

center 0 1 0 radius 1

} } } } }} MaterialIndex 1 Transform { Translate 3 3 4 XRotate 90 ZRotate 90 YRotate -90 Scale 1.5 0.5 3 XRotate 90 Group { numObjects 1 Intersection { TriangleMesh { obj_file cube.obj } Sphere {

center 0 1 0

radius 1 } } } }}}

MaterialIndex 3 Transform { Translate 5 -8 1 Scale 0.5 0.5 0.5

Group { numObjects 2 Transform { Scale 1 5 1 Group { numObjects 1 Intersection { TriangleMesh { obj_file cube.obj } Sphere { center 0 1 0

radius 1 } } } } Transform { Translate 0 11 0 Scale 1 5 1 XRotate 180 Group { numObjects 1 Intersection { TriangleMesh { obj_file cube.obj } Sphere { center 0 1 0

radius 1 } } } } } }

MaterialIndex 1 Transform { Translate 5 -9 0 Scale 1.2 1.5 1.2 Group {

Page 21: 6.837  Assignment 10  Presentations

(2) Colin W.

Page 22: 6.837  Assignment 10  Presentations
Page 23: 6.837  Assignment 10  Presentations
Page 24: 6.837  Assignment 10  Presentations
Page 25: 6.837  Assignment 10  Presentations

(3) Javier C.

Page 26: 6.837  Assignment 10  Presentations

Tensor Product of BSpline Curves

Javier CastroMIT 6.837

Page 27: 6.837  Assignment 10  Presentations

• What is a Tensor Product?

• Definition of BSpline Patch– Can be of size M x N– Has two parameters: s and t

Definitions

Page 28: 6.837  Assignment 10  Presentations

Problems

• BSpline Patch vs. Bicubic Bezier Patch

• 3D Point Editing via GUI

Page 29: 6.837  Assignment 10  Presentations

Example

Page 30: 6.837  Assignment 10  Presentations

Fun with BSpline Surfaces

Page 31: 6.837  Assignment 10  Presentations

(4) Evelyn E.

Page 32: 6.837  Assignment 10  Presentations

Ray Tracing Quartic Surfaces

Evelyn Eastmond

6.837 Assignment 10

Page 33: 6.837  Assignment 10  Presentations

Ray-Torus Intersection

• A Torus is a quartic surface

Quadratic surface - 2 roots Quartic surface - 4 roots

Page 34: 6.837  Assignment 10  Presentations

Ray-Torus Intersection

• Torus equation:– f(x,y,z) = (x2 + y2 + z2 –r2 – R2)2 +4R2(z2 – r2)

– x = rox + rdx, y = roy + rdy, z = roz+rdz

• Steps– Find coefficients of quartic

• By hand (1.5 hrs….)• Online

– Solve using quartic solver• By hand?• Online!

Page 35: 6.837  Assignment 10  Presentations

Ray-Torus: Failed Attempt 1

• Problem: inverted coefficients

Page 36: 6.837  Assignment 10  Presentations

Ray-Torus: Failed Attempt 2

• Problem: false positive‘t’ values

Page 37: 6.837  Assignment 10  Presentations

Lessons Learned

• Solve everything by hand– geometry?

• Use online sources for reference only• Acknowledgements:

– Ray-torus equation:Max Wagner, http://emeyex.com/

– Quartic solver:Geant 4 Group, http://geant4.web.cern.ch

Page 38: 6.837  Assignment 10  Presentations
Page 39: 6.837  Assignment 10  Presentations

(5) Andy A.

Page 40: 6.837  Assignment 10  Presentations

Distribution Ray Tracing

Andy Arizpe6.837

December 9, 2004

Page 41: 6.837  Assignment 10  Presentations

Soft Shadows

• Represent light source as area rather than point.

• For each shadow calculation, send multiple rays aimed at different points on the light.

• Points near the border of the shadow region will be partially lit.

Page 42: 6.837  Assignment 10  Presentations

Soft Shadows

One ray per shadow calculation Sixteen rays per shadow calculation

Page 43: 6.837  Assignment 10  Presentations

Glossy Reflection

• Used to model materials that are somewhere between perfect mirrors and diffuse.

• For each reflection, send several rays – each one offset from the perfect mirror direction by a random vector, calculated by sampling a square perpendicular to the perfect mirror direction.

• Size of square determines amount of blurriness.

Page 44: 6.837  Assignment 10  Presentations

Glossy Reflection

Three spheres with glossiness values of 0, 0.25, and 0.5 (from left to right).

Page 45: 6.837  Assignment 10  Presentations

Depth of Field

• Extend the perspective camera with notions of lens size and distance to focus plane.

• For each pixel, shoot multiple rays originating at different points on the “lens”, but all going through the same point on the focus plane.

• With a larger lens size, objects get blurrier more quickly as you move away from focus plane.

Page 46: 6.837  Assignment 10  Presentations

Depth of Field

No focus – standard perspective camera

Focus on blue box

Focus on red box

Page 47: 6.837  Assignment 10  Presentations

(6) Ilia M.

Page 48: 6.837  Assignment 10  Presentations

f(r) = exp(-r2/2) f(r) = r < 1: (1-r2)2

r ≥ 1: 0

Page 50: 6.837  Assignment 10  Presentations

(7) Bryan A.

Page 51: 6.837  Assignment 10  Presentations

EnvironmentObjects

• EnvSphere and EnvPlane• Float getDistance(Vec3f pos)• Vec3f getNormal(Vec3f pos)• Void paint()

• Each system has an array of EnvironmentObjects, so you can have several in a scene

Page 52: 6.837  Assignment 10  Presentations

Basic Collision Detection

For each particle

Update (using the Integrator)

For each EnvironmentObject

Calculate time of collision (-1 if no collision)

if (collision_time >= 0)

Collision response

Page 53: 6.837  Assignment 10  Presentations

Backtracking Collision Detection

For each particlecurr_dt = dtWhile (curr_dt >= 0)

Update (using Integrator) for curr_dtFor each EnvironmentObject Calculate first collision (if any)If collision Revert to last state (last_pos and last_vel) Update system until collision (dt - max_time) Collision responsecurr_dt = max_time

Page 54: 6.837  Assignment 10  Presentations

Particle Representation

• Normal particles, spheres, and cubes• Float collisionTime(EnvObject* envObj)

– Use envObj->getDistance(…) & ->getNormal(…), last_velocity and radius

• Void collisionResponse(EnvObject* envObj)– Mirror reflection

• Void paint()

• Cubes consist of a group of six particles set around a center point (only the center point is sent to the Update function)

Page 55: 6.837  Assignment 10  Presentations

Backtracking vs. Normal Collision Response

Normal Backtracking

Page 56: 6.837  Assignment 10  Presentations

Setup Environments

Cube -> 6 EnvPlanes Sphere -> 1 EnvSphere

Page 57: 6.837  Assignment 10  Presentations

Setup Environments (cont.)

Triangular Bar -> 5 EnvPlanes Square Pyramid -> 5 EnvPlanes

Page 58: 6.837  Assignment 10  Presentations

Setup Environments (cont.)

Four-sided Pyramid -> 4 EnvPlanes

Page 59: 6.837  Assignment 10  Presentations

Cube Pics

Cube Inside an EnvSphere Cube Inside a Cube (6 EnvPlanes)

Page 60: 6.837  Assignment 10  Presentations

(8) Mariana B.

Page 61: 6.837  Assignment 10  Presentations
Page 62: 6.837  Assignment 10  Presentations
Page 63: 6.837  Assignment 10  Presentations
Page 64: 6.837  Assignment 10  Presentations
Page 65: 6.837  Assignment 10  Presentations

(9) Kenfield G.

Page 66: 6.837  Assignment 10  Presentations

KENFIELD GRIFFITH

Page 67: 6.837  Assignment 10  Presentations
Page 68: 6.837  Assignment 10  Presentations
Page 69: 6.837  Assignment 10  Presentations
Page 70: 6.837  Assignment 10  Presentations

(10) Nestor H.

Page 71: 6.837  Assignment 10  Presentations

Nestor Hernandez: Photon Mapping

mishaps

~2500 photons

10000 photons

20000 photons

Page 72: 6.837  Assignment 10  Presentations

Nestor Hernandez: Photon Mapping

Page 73: 6.837  Assignment 10  Presentations

(11) Matthew W.

Page 74: 6.837  Assignment 10  Presentations

Cellular Textures

Matthew Webber

Page 75: 6.837  Assignment 10  Presentations

• Scale Transform

• Crack Width

• # of foci

Page 76: 6.837  Assignment 10  Presentations

Transparency

Page 77: 6.837  Assignment 10  Presentations

Reflection/Refraction

Page 78: 6.837  Assignment 10  Presentations

Bump Mapping

Page 79: 6.837  Assignment 10  Presentations

Projective Shadows

Page 80: 6.837  Assignment 10  Presentations

Grand Finale...

Page 81: 6.837  Assignment 10  Presentations
Page 82: 6.837  Assignment 10  Presentations

(12) Lawrie G.

Page 83: 6.837  Assignment 10  Presentations

Constructive Solid Geometry

• Three operations:– Union – all points in object A and all points in object B– Intersection – all points in objects A and B– Difference – all points in object A but not in object B

Page 84: 6.837  Assignment 10  Presentations

Constructive Solid Geometry

Page 85: 6.837  Assignment 10  Presentations

(13) Kevin D.

Page 86: 6.837  Assignment 10  Presentations

demo…

Page 87: 6.837  Assignment 10  Presentations

(14) Yan(James) P.

Page 88: 6.837  Assignment 10  Presentations

Collision Detection

6.837 Final Assignment

By Yan(James) Pang

Page 89: 6.837  Assignment 10  Presentations

Introduction

• Importance for physical simulation, e.g. Virtual reality, Augmented reality, etc.

• Most of objects in VR application are defined by triangle meshes

• The important collision problem is to solve the collision between two triangles

Page 90: 6.837  Assignment 10  Presentations

Two Scenarios of Triangle Collision

• Coplanar

• Non-coplanar

Page 91: 6.837  Assignment 10  Presentations

Coplanar Triangles

• Intersection– Edge-Edge Collision

• AB = A + r(B-A) • CD = C + s(D-C)• Compute r, s A + r(B-A) = C + s(D-C)• ? r, s in [0, 1]

• Inside– Vertex inside Triangle?– Optimal algorithm: reduce dimension

(3D to 2D)

• No Collision

Page 92: 6.837  Assignment 10  Presentations

Non-Coplanar Triangles

• Non-coplanar triangles Collision– Intersection Line (L)– Project the vertex on the Intersection Line– Compare the Projected Intervals of vertex

L

Page 93: 6.837  Assignment 10  Presentations

Results

• Objects Defined by Triangle Mesh – Report how many triangles collide

• Non Triangle Mesh Objects– Just report whether they are collided

Object 4 Object 3

Object 1Object 2

Object 0

Page 94: 6.837  Assignment 10  Presentations

(15) Emily W.

Page 95: 6.837  Assignment 10  Presentations

D I S T R I B U T I O N R A Y T R A C I N G

6.837E M I L Y W H I T I N G

Page 96: 6.837  Assignment 10  Presentations

D E P T H o f F I E L Dfocus plane + lens perturbing eye position

Page 97: 6.837  Assignment 10  Presentations

S O F T S H A D O W Sspherical light source

Page 98: 6.837  Assignment 10  Presentations

G L O S S Y R E F L E C T I O N Sperturbed reflection ray

Page 99: 6.837  Assignment 10  Presentations

A N T I A L I A S I N G+ S O F T S H A D O W S

+ G L O S S Y R E F L E C T I O N S

Page 100: 6.837  Assignment 10  Presentations

(16) Dumitru D.

Page 101: 6.837  Assignment 10  Presentations

Ray tracing implicit surfaces6.837 Lab 10

Dumitru [email protected]

Page 102: 6.837  Assignment 10  Presentations

How do we define a surface?

• defined by a polynomial P(x, y, z) = 0

• input file:surface3d { polynomial x^2+y^2+z^2-1}

Page 103: 6.837  Assignment 10  Presentations

Some images

Sphere object Surface3D object: x^2+y^2+z^2-1

Transformation of a Sphere object Surface3D object: x^2+4*y^2+z^2-1

Page 104: 6.837  Assignment 10  Presentations

Add “cutting planes”

• Separates the space into two half-spaces

• Exactly one half-space is visible

• The normal determines which half-space is visible

Page 105: 6.837  Assignment 10  Presentations

More input file extensions

• Defining a surface with “cutting planes”: surface3d {

polynomial x^2+y^2+z^2-1 num_cutting_planes 2 cutting_plane { normal 0 0 -1 offset -0.7 } cutting_plane { normal 0 0 1 offset -0.7 } planes_conditions 1&2}

Page 106: 6.837  Assignment 10  Presentations

More images

• double cone: 16*x^2+z^2-4*y^2 • 16 cutting planes• planes_conditions: (1&2)|(3&4)|(5&6)|(7&8)|(9&10)| (11&12)|(13&14)|(15&16)

• hyperbolic paraboloid: x^2-z^2-8*y (with 2 rotations)• 3 cutting planes• planes_conditions: 1&2&3

Page 107: 6.837  Assignment 10  Presentations

What about solid objects?

• How do you cover the “holes”?

• Adding intersections with the “cutting planes” does not work

• Other easy methods don’t seem to work either

• Find the surface intersection with every “cutting plane”?

Page 108: 6.837  Assignment 10  Presentations

(17) Andrew W.

Page 109: 6.837  Assignment 10  Presentations

demo…

Page 110: 6.837  Assignment 10  Presentations

(18) Diane Y.

Page 111: 6.837  Assignment 10  Presentations

Constructive Solid Geometry (CSG)

union intersection subtraction

Page 112: 6.837  Assignment 10  Presentations

How can we implement CSG?

Points on A, Outside of B

Points on B, Outside of A

Points on B, Inside of A

Points on A, Inside of B

Union Intersection Subtraction

Page 113: 6.837  Assignment 10  Presentations

Collect all the intersections

Union Intersection Subtraction

Page 114: 6.837  Assignment 10  Presentations

Implementing CSG1. Test "inside" intersections:

• Find intersections with A, test if they are inside/outside B

• Find intersections with B,test if they are inside/outside A

2. Overlapping intervals:• Find the intervals of "inside"

along the ray for A and B• Compute

union/intersection/subtractionof the intervals

Page 115: 6.837  Assignment 10  Presentations

CSG with spheres

union intersection subtraction

Page 116: 6.837  Assignment 10  Presentations

CSG with triangles/planes

original intersection w/ triangles

intersection w/ plane

Page 117: 6.837  Assignment 10  Presentations

Nested CSG’s

Mickey

Union of 3 spheres

Saturn

Union of sphere and transform

Snowflake ball

Union of 4 transforms, intersection with sphere

Page 118: 6.837  Assignment 10  Presentations

A snowman

Page 119: 6.837  Assignment 10  Presentations

A snowman

Triangle meshes

Snowflake/plane

Triangle/sphere union

Sphere subtraction

intersection Transform/CSG union

(with noise for the sky and ground)

Sphere subtraction + triangle mesh

Page 120: 6.837  Assignment 10  Presentations

(19) Abraham E.

Page 121: 6.837  Assignment 10  Presentations

depth = 2 depth = 5

depth = 10 depth = 100

Page 122: 6.837  Assignment 10  Presentations
Page 123: 6.837  Assignment 10  Presentations
Page 124: 6.837  Assignment 10  Presentations

(20) Daniel W.

Page 125: 6.837  Assignment 10  Presentations

SUBGRIDSDaniel Wendel

Page 126: 6.837  Assignment 10  Presentations

-subgrid edge minD threshold maxD

Page 127: 6.837  Assignment 10  Presentations

-grid 2 2 2 -subgrid 2 0 16 10

Page 128: 6.837  Assignment 10  Presentations

-grid 2 2 2 -subgrid 2 0 16 10

Page 129: 6.837  Assignment 10  Presentations

-grid 3 3 3 -subgrid 7 0 18 6

Page 130: 6.837  Assignment 10  Presentations

(21) Ioannis T.

Page 131: 6.837  Assignment 10  Presentations

demo…

Page 132: 6.837  Assignment 10  Presentations

(22) Emily Y.

Page 133: 6.837  Assignment 10  Presentations

NPR Post-Processing of Images:

Giving pictures a more personal touch

Emily Yan

December 9, 2004

Page 134: 6.837  Assignment 10  Presentations

What is NPR?

• NPR = Non-Photorealistic Rendering• Millions of different effects (AKA PhotoShop

filters)• Original goal: cross-hatch • Use a sawtooth pattern to

compare original grayscale

image

Page 135: 6.837  Assignment 10  Presentations

Sawtooth Function

• Linear interpolation of grays• Careful balance of repeat rate

– Too high: bands are too wide, unable to catch a great deal of detail

– Too low: not enough shades of gray, causes it to be difficult to capture differences in color

Rep rate: 4 Rep rate: 20Original

Page 136: 6.837  Assignment 10  Presentations

Options

• Horizontal/Vertical Bars– Slope– Scale– Offset

• Mesh

• Rings

• Stipple

Page 137: 6.837  Assignment 10  Presentations

Equalization Required

Sometime your pattern is just too dark…

Normal

Equalized

Pattern Output

Page 138: 6.837  Assignment 10  Presentations

Eye Candy

Uses mesh, equalize

Page 139: 6.837  Assignment 10  Presentations

Eye Candy

Stipple effect

Page 140: 6.837  Assignment 10  Presentations

Eye Candy

Uses rings

Page 141: 6.837  Assignment 10  Presentations

(23) Tom H.

Page 142: 6.837  Assignment 10  Presentations

Distribution Ray Tracing Effects

Tom Hoover

6.837

Page 143: 6.837  Assignment 10  Presentations

Soft Shadow

• Finite sized lights• For each intersection

sample over light• Sampling over cone,

not uniform distribution

Page 144: 6.837  Assignment 10  Presentations

Motion Blur

• Give ability for objects to have a start and an end point

• Keep track of time during the entire ray-casting process

• For each pixel, sample over random time

Page 145: 6.837  Assignment 10  Presentations

Glossy Materials

• Simulate the imperfections in surfaces

• Perturb reflected rays and continue to trace

• Sample using uniform distribution (over normal plane to reflected ray)

Page 146: 6.837  Assignment 10  Presentations

(24) Eric L.

Page 147: 6.837  Assignment 10  Presentations
Page 148: 6.837  Assignment 10  Presentations
Page 149: 6.837  Assignment 10  Presentations
Page 150: 6.837  Assignment 10  Presentations
Page 151: 6.837  Assignment 10  Presentations
Page 152: 6.837  Assignment 10  Presentations

(25) Rohit R.

Page 153: 6.837  Assignment 10  Presentations

CSG

Rohit Rao

6.837

12/9/04

Page 154: 6.837  Assignment 10  Presentations

CSG Operations

Page 155: 6.837  Assignment 10  Presentations

Tinkertoys

Page 156: 6.837  Assignment 10  Presentations

Why my CSG sucks

• Scenes get very complex, very fast– Tinkertoy house was ~2000 lines

• Can’t really use grid acceleration– Difference(40k bunny, cylinder)

Page 157: 6.837  Assignment 10  Presentations

Grid Acceleration

• Solution: put the Grid inside the CSG object

Page 158: 6.837  Assignment 10  Presentations
Page 159: 6.837  Assignment 10  Presentations

(26) Annie D.

Page 160: 6.837  Assignment 10  Presentations

Lighting Stained Glass Texture Mapping

Transparent ShadowsVolumetric Raytracing

Annie DingDecember, 2004

Page 161: 6.837  Assignment 10  Presentations

Texture Mapping

• Map coordinates from bitmap image onto primitives

Page 162: 6.837  Assignment 10  Presentations

Transparent Shadows

• Extension of assignment 4• Accumulate transparent color as

shadow ray passes through objects

Page 163: 6.837  Assignment 10  Presentations

Volumetric Raytracing

• Dust/smoky effect - to show light rays

• Incrementally step along the rays cast, shooting additional rays towards the light sources – Accumulate color over the ray by

using exponential function: e^Density*step_length

Page 164: 6.837  Assignment 10  Presentations

Eye Candy

Page 165: 6.837  Assignment 10  Presentations

Eye Candy

Page 166: 6.837  Assignment 10  Presentations

Eye Candy

Page 167: 6.837  Assignment 10  Presentations

(27) Jim G.

Page 168: 6.837  Assignment 10  Presentations

Sphere Texture Mapping

Page 169: 6.837  Assignment 10  Presentations

Triangle Texture Mapping

Page 170: 6.837  Assignment 10  Presentations

Bump Mapping

Page 171: 6.837  Assignment 10  Presentations

(28) Mike M.

Page 172: 6.837  Assignment 10  Presentations

Animated Water and

Caustics

Michael MatczynskiDecember 9, 2004

Page 173: 6.837  Assignment 10  Presentations

Pass 1: Photon Tracing

• Create photons from PhotonSources

• Trace photons through the scene using tracePhoton()

• When a photon hits a diffuse surface, store it in PhotonMap

Page 174: 6.837  Assignment 10  Presentations

Pass 2: Rendering

• Render image using the standard ray tracing algorithm, but now add photon contributions

• radianceEstimate() calculates color contribution at each hit point using data in PhotonMap

Page 175: 6.837  Assignment 10  Presentations

Animated Water Demo

• Animate.exe creates a sequence of frames simulating water waves

• 1000 photons / 10 samples per pixel

• 24 frames• 20 minutes on 6

Xeon 2.0ghz workstations

Page 176: 6.837  Assignment 10  Presentations

Index of Refraction Demo

• Animate.exe varies index of refraction (0.8-2.8) and rotation angle

• 5000 photons / 15 samples per pixel

• 96 frames• 17 minutes on 6

Xeon 2.0ghz workstations

Page 177: 6.837  Assignment 10  Presentations

The EndGreat Job Everyone!