Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok

Similar presentations


Presentation on theme: "1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok"— Presentation transcript:

1 1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok a.j.f.kok@tue.nl

2 2 Local illumination models What is missing in local (Phong) illumination model (Shadows) Real mirrors Transparency Area light sources Indirect diffuse reflection Atmosphere

3 3 Light paths Light path notation L: light source D: diffuse reflection S: specular reflection E: eye point Local reflection models: L(D|S)E Complete solution: L(D|S)*E

4 4 Global illumination models Illumination for complete scene All illumination, also indirect illumination Several approaches: Ray tracing Radiosity …

5 5 Brute force solutions Trace photons from light source into scene Follow paths of photons through reflections/transmissions At each reflection/transmission “energy” of photon is modified (part of energy absorbed by surface) Photons that go though image plane and reach eye contribute to image.

6 6 Trace photons

7 7 Light paths complete solution: L(D|S)*E Forward ray tracing Problem Most photons will not contribute to image

8 8 Backward ray tracing Only trace light that arrives at viewpoint through viewing plane Trace light backwards from viewpoint until light source reached (Backward) Ray tracing

9 9 Ray tracing Basic algorithm for all pixels in image plane create ray from eye point through pixel trace this ray on his path(s) through scene until it reaches light source(s) and collect illumination encountered during travel amount of collected light determines color of pixel eye pixel

10 10 Ray tracing – example 1 eye image plane LALA LBLB S1S1 S2S2 4 3 2 1 R1R1 S4S4 S3S3 V1V1 Object 1 diffuse & specular

11 11 Ray tracing – example 2 eye image plane LALA LBLB S1S1 S2S2 4 3 2 1 S6S6 S5S5 V1V1 T1T1 Object 1 diffuse & transparent

12 12 Ray tracing 1.Create viewing ray 2.Trace ray 3.At intersection point a.Compute (local) illumination. Trace shadow rays to light sources to account for shadows. b.If surface at intersection specularly reflecting, trace shadow ray and compute its contribution: continue at step 2 c.If surface at intersection transparent, trace transparency ray and compute its contribution: continue at step 2 d.Sum contribution of steps (a), (b) and (c)

13 13 Ray-tracing picture (Whitted 80)

14 14 Example using ray tracing

15 15 Computations in ray-tracing Creation of viewing ray Intersection computation Find first intersected object (ray-scene intersection) Point of intersection Normal (and local coordinates) of intersection point Creation shadow rays Creation reflection rays Creation transparency rays Illumination

16 16 Creation viewing ray Origin is eye point (E) Through pixel (P) R(t) = E + V * tt > 0 E P

17 17 Ray-scene intersection Compute intersection of ray R(t) with all objects in scene Intersection with smallest positive intersection distance t gives intersected object t = 2 t = 5 t = 3

18 18 Ray-object intersection Ray equation R(t) = R o + R d * tt > 0 R o = ray origin R d = ray direction ||R d || = 1 Object Implicit surface: f(x) = 0 Polygons …

19 19 Ray-sphere intersection Sphere ||P – C|| 2 – r 2 = 0 Substitution of R(t) for P gives t 2 + 2bt + c = 0 b = R d (R o – C) c = ||R o – C|| 2 – r 2 Solution for t gives intersection points P’ P r R0R0 RdRd N C

20 20 Ray-sphere intersection Solutions for t 1 and t 2 : Normal at intersection point N = (P – C) / r P’ P r RoRo RdRd N C t2t2 t1t1 t 1 = t 2 t2t2 t1t1 t2t2 t1t1

21 21 Ray-polygon intersection Two steps 1.Intersect ray with plane of polygon. Compute intersection point 2.Determine if intersection point within polygon Normal of intersection point is plane normal R0R0

22 22 Ray-polygon intersection Intersection ray-plane Equation of plane: Ax + By + CZ + D = 0 Substitution of R(t) for x, y, and z gives: where N is normal of plane: {A, B, C}

23 23 Ray-polygon intersection Determine if intersection point within polygon (2D) Draw line from intersection point in a direction Count number of intersection with edges of polygon If count even, than point outside polygon, otherwise inside

24 24 Shadow ray Determine if point is illuminated by light source Shadow ray: R(t) = P + S * tt > 0 Point P is illuminated by light source L if there is no intersection of shadow ray with scene for 0 < t < ||L – P|| S P L

25 25 Reflection ray Physical laws: R, N, and I are in same plane: R = αI + βN Angle of incidence = angle of reflection: θ r = θ i Reflection ray direction θiθi I N θrθr R

26 26 Reflection

27 27 Transparency ray Snell’s law: η i = index of refraction medium i with respect to vacuum η it = index of refraction medium I with respect to medium t Transparency ray direction θiθi I N θtθt medium i medium t T

28 28 Transparency

29 29 Transparency

30 30 Illumination Phong illumination model for local illumination αiαi θiθi RiRi LiLi V N

31 31 Illumination for ray tracing Extension of local model with shadow information, mirroring and transparency S i = shadow factor (0, 1) I R = intensity of reflection ray I T = intensity of transmission ray

32 32 Ray tracing

33 33 Ray tracing Light paths ray tracing: LS*E and LDS*E Allows for transparency with refraction Easy shadow computation Easy to program Inefficient

34 34 Ray tracing modelleer transformatie ray tracing display

35 35 Ray tracing extensions More effects Caustics Area light sources, soft shadows Depth of field Motion blur

36 36 Two-pass ray tracing Two-pass method First pass: forward tracing (from lights into scene). Limited to rays from light to reflective and transparent objects When transparency ray hits surface, energy is stored at surface Second pass: backward ray tracing When local illumination applied, also check for stored intensity. Add this intensity to illumination Light paths ray tracing with caustics: LS*E and LS*DS*E

37 37 Area light sources Area light sources generate soft shadows (penumbrae) umbra penumbra entirely illuminated

38 38 Area light source

39 39 Area light source Subdivide area light source in number of point light sources Use regular grid of points

40 40 Area light source How many point light sources must be used to simulate area source? Number depends on distance from point to light source Regular pattern of point sources generates shadow bands

41 41 Area source: adaptive subdivision

42 42 Shadow bands

43 43 Area source: irregular pattern Trace shadow ray to random point on sub light source Degree of randomness often indicated with “jitter” Regular shadow patterns replaced by noise

44 44 Area source: jittered subdivision

45 45 Ray tracing - efficiency Ray tracing inefficient Need for methods to improve performance Efficiency ray tracing determined by Number of rays Number of light sources Number of specular and transparent objects Recursion depth Efficiency ray-object intersections Number of intersections to be computed

46 46 Reduce number of complex ray-object intersection computations by providing complex objects with a simple geometry around complex geometry Sphere Cube Do intersection with simple geometry Only if intersection found, do intersection with complex geometry Hierarchy of bounding volumes Ray tracing – bounding volume

47 47 Ray tracing – space subdivision Partition scene into small cells Store in each cell pointers to objects it contains Trace ray through cells and only compute intersections with objects in visited cell When intersection found, stop tracing rays through cells

48 48 Ray tracing: conclusion Spectacular effects: Shadows Mirrors Transparency, refraction Simple implementation Limitations Not all light paths possible, missing diffuse interreflection Area light sources possible, but at high price => Radiosity method solves (parts of) limitations


Download ppt "1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok"

Similar presentations


Ads by Google