The Fast Multipole Method and the Radiosity Kernel

Size: px
Start display at page:

Download "The Fast Multipole Method and the Radiosity Kernel"

Transcription

1 and the Radiosity Kernel The Fast Multipole Method Sharat Chandran sharat January 8, 2006 Page 1 of 43 (Joint work with Alap Karapurkar and Nitin Goel) 1 Copyright c 2005 Sharat Chandran Jan 9 11

2 Overview What s FMM about? Page 2 of 43

3 Overview What s FMM about? Point-based rendering Page 2 of 43

4 Overview What s FMM about? Point-based rendering Insight into the method Page 2 of 43

5 Overview What s FMM about? Point-based rendering Insight into the method The algorithm and our contributions Page 2 of 43

6 Page 2 of 43 Overview What s FMM about? Point-based rendering Insight into the method The algorithm and our contributions Limitations, conclusion future work and 2 Copyright c 2005 Sharat Chandran Jan 9 11

7 1. The Fast Multipole Method The Fast Multipole Method Speeds up matrix-vector product sums of certain types Naive method is quadratic: O(n 2 ) FMM solves the problem in linear time: O(n) Page 3 of 43

8 1. The Fast Multipole Method The Fast Multipole Method Speeds up matrix-vector product sums of certain types Naive method is quadratic: O(n 2 ) FMM solves the problem in linear time: O(n) Page 3 of 43 Tricks of the trade: Math, Precision, Data Structures

9 1. The Fast Multipole Method The Fast Multipole Method Speeds up matrix-vector product sums of certain types Naive method is quadratic: O(n 2 ) FMM solves the problem in linear time: O(n) Page 3 of 43 Tricks of the trade: Math, Precision, Data Structures Sometimes can get even better results Move from O(n 3 ) to O(knlogn) or even O(kn) Solve impossible problems :-) 3 Copyright c 2005 Sharat Chandran Jan 9 11

10 Point-Based Rendering Performance of graphics card has increased tremendously Points are available as input data Want to go beyound flat polygons Page 4 of 43

11 Point-Based Rendering The Fast Multipole Method Performance of graphics card has increased tremendously Points are available as input data Want to go beyound flat polygons Rendering options Page 4 of 43 Local illumination models... (surfels?) Ray-tracing and photon mapping Diffuse global illumination (this talk)

12 Point-Based Rendering The Fast Multipole Method Performance of graphics card has increased tremendously Points are available as input data Want to go beyound flat polygons Rendering options Page 4 of 43 Local illumination models... (surfels?) Ray-tracing and photon mapping Diffuse global illumination (this talk) Method works for traditional patch models too 4 Copyright c 2005 Sharat Chandran Jan 9 11

13 So what s the Problem? Lots of points make the problem intractable. 1GB RAM = bytes n 2 = 2 30 n = 32K In reality, we may desire a larger number Space is a constraint Page 5 of 43

14 So what s the Problem? Lots of points make the problem intractable. 1GB RAM = bytes n 2 = 2 30 n = 32K In reality, we may desire a larger number Space is a constraint Page 5 of 43 If solution involves inverting a matrix O(n 3 ) time, that s also a constraint What if we could solve the problem in O(n) space and O(n) time? 5 Copyright c 2005 Sharat Chandran Jan 9 11

15 Illumination Models Are Key to Rendering Ray tracing produces stunning pictures but Pictures appear too good. Takes too long to produce reasonable images Page 6 of 43

16 Illumination Models Are Key to Rendering Ray tracing produces stunning pictures but Pictures appear too good. Takes too long to produce reasonable images Flat shading is quick but unreal Page 6 of 43

17 Illumination Models Are Key to Rendering Ray tracing produces stunning pictures but Pictures appear too good. Takes too long to produce reasonable images Flat shading is quick but unreal Page 6 of 43 Flat shading can be remarkably improved by discretizing environment into patches and computing intensity for each patch. 6 Copyright c 2005 Sharat Chandran Jan 9 11

18 Global Illumination In a Hurry The Fast Multipole Method Radiosity produces photorealistic pictures that can handle non specular scenes Enables color bleeding effects View independent representation Starting point is the general energy balance equation for the radiance L(x,θ 0,φ 0 ) = L e (x,θ 0,φ 0 ) + Ω ρ bd(x,θ 0,φ 0,θ,φ)L i (x,θ,φ)cosθ dω Page 7 of 43

19 Global Illumination In a Hurry The Fast Multipole Method Radiosity produces photorealistic pictures that can handle non specular scenes Enables color bleeding effects View independent representation Starting point is the general energy balance equation for the radiance L(x,θ 0,φ 0 ) = L e (x,θ 0,φ 0 ) + Ω ρ bd(x,θ 0,φ 0,θ,φ)L i (x,θ,φ)cosθ dω Page 7 of 43 Point-based rendering is in some sense easier For diffuse surfaces, radiosity is a popular quantity to compute In the sequel we assume occlusion is handled separately 7 Copyright c 2005 Sharat Chandran Jan 9 11

20 Gauss-Jordan: B (k+1) i Iterative Solution = E i + N j=1(ρ i F i j )B (k) j (some i) X B i. X = X E i. X + X X X X... X X. X Page 8 of 43 Step 1 1 Step Copyright c 2005 Sharat Chandran Jan 9 11

21 Use Iterative Methods The Fast Multipole Method Step Step 2 Page 9 of 43

22 Use Iterative Methods The Fast Multipole Method Step Step 2 Page 9 of 43 Southwell: For all j β (k+1) i Results in B (k+1) j β 1 β i. β n = β (k) i = + N j=1(ρ j F i j )r (k) i E i. + X B j + ρ j F i j A i A j B i X X X X X... 9 Copyright c 2005 Sharat Chandran Jan 9 11

23 Page 10 of 43 Introduction to FMM Suppose we have a collection of N points in 2D x i {i = 1,2,...N} and we want to evaluate f (x j ) = N i=1 α i (x j x i ) 2 j = 1,...,N Each evaluation requires O(N). Since there are N evaluations, straightforward method takes time O(N 2 ) for j = 1 to N for i = 1 to N sum [ j ] + = alpha [ i ] ( x [ j ] x [ i ] ) ( x [ j ] x [ i ] ) Can we do better? 10 Copyright c 2005 Sharat Chandran Jan 9 11

24 Expand f as A Faster Solution: This is Not FMM f (x j ) = N i=1 = x 2 j (α i x 2 j + α i x 2 i 2α i x j x i ) ( N i=1α i ) + ( N α i xi 2 i=1 ) ( N ) 2x j α i x i i=1 Page 11 of 43

25 Expand f as A Faster Solution: This is Not FMM f (x j ) = N i=1 = x 2 j (α i x 2 j + α i x 2 i 2α i x j x i ) ( N i=1α i ) + ( N α i xi 2 i=1 ) ( N ) 2x j α i x i i=1 Page 11 of 43 Precompute )(in O(N) time) ( ) ) β = ( Ni=1 α i and γ = N i=1 α i xi 2 and δ = ( Ni=1 α i x i Then each evaluation is f (x j ) = x 2 j β + γ 2x jδ and we have the O(N) code for i = 1 to N β += alpha[i]; for i = 1 to N γ += alpha[i] * x[i] * x[i]; for i = 1 to N δ += alpha[i] * x[i]; for j = 1 to N sum[j] = x[j]*x[j]*β + γ - 2*x[j]*δ 11 Copyright c 2005 Sharat Chandran Jan 9 11

26 Page 12 of A Faster Solution: This is Not FMM Key point : f (x j ) is written as a sum of products using analytical manipulations f (x j ) = = N 3 i=1 k=1 3 A k (x j ) k=1 α i A k (x j )B k (x i ) ( N i=1 ) α i B k (x i ) }{{} precomputed A 1 (x) = x 2 A 2 (x) = 1 A 3 (x) = 2x B 1 (x) = 1 B 2 (x) = x 2 B 3 (x) = x Effect of the data point is independent of where it is going to be used (in management, work done is people independent ). 12 Copyright c 2005 Sharat Chandran Jan 9 11

27 Points To Note The Fast Multipole Method Starting point is a sum of the form f (x) = N i=1 w(y i )K(x,y i ) Faster solution because of analytical rearrangement But not all problems admit such a solution Consider f (ω) = N i=1 w(y i )e 2πiω N 1 Celebrated Discrete Fourier Transform Page 13 of 43

28 Points To Note The Fast Multipole Method Starting point is a sum of the form f (x) = N i=1 w(y i )K(x,y i ) Faster solution because of analytical rearrangement But not all problems admit such a solution Consider f (ω) = N i=1 w(y i )e 2πiω N 1 Celebrated Discrete Fourier Transform Fast solutions are obtained due to the nature of the kernel FMM provides a fast solution by trading accuracy for speed but requires Page 13 of 43

29 Points To Note The Fast Multipole Method Page 13 of 43 Starting point is a sum of the form f (x) = N i=1 w(y i )K(x,y i ) Faster solution because of analytical rearrangement But not all problems admit such a solution Consider f (ω) = N i=1 w(y i )e 2πiω N 1 Celebrated Discrete Fourier Transform Fast solutions are obtained due to the nature of the kernel FMM provides a fast solution by trading accuracy for speed but requires Four types of factorization formulae Analysis of convergence of analytical expression Data structure issues

30 Points To Note The Fast Multipole Method Page 13 of 43 Starting point is a sum of the form f (x) = N i=1 w(y i )K(x,y i ) Faster solution because of analytical rearrangement But not all problems admit such a solution Consider f (ω) = N i=1 w(y i )e 2πiω N 1 Celebrated Discrete Fourier Transform Fast solutions are obtained due to the nature of the kernel FMM provides a fast solution by trading accuracy for speed but requires Four types of factorization formulae Analysis of convergence of analytical expression Data structure issues x is said to be the point of evaluation of the sources y i 13 Copyright c 2005 Sharat Chandran Jan 9 11

31 3. Step 1: Multipole Expansion The Fast Multipole Method Direct evaluation requires N interactions at runtime Page 14 of 43

32 3. Step 1: Multipole Expansion The Fast Multipole Method Direct evaluation requires N interactions at runtime Page 14 of 43 Can we reduce this to one interaction? 14 Copyright c 2005 Sharat Chandran Jan 9 11

33 Multipole Expansion: Math The Fast Multipole Method Page 15 of 43 To evaluate f at x due to y i {i = 1...N} f ( x) = N i=1 w( y i )K( x, y i ) If we can factorize the kernel as K( x, y) = p j=1 A j( Ox)B j ( Oy) Substituting this expansion as the kernel f ( x) = = = N i=1 w( y i ) p p A j ( Ox) j=1 j=1 ( N i=1 p A j ( Ox)M j (O) j=1 A j ( Ox)B j ( Oy i ) w(y i )B j ( Oy i ) } {{ } M j (O) ) Y X O Preprocessing cost is proportional to the number of points, but run time cost is O(1) 15 Copyright c 2005 Sharat Chandran Jan 9 11

34 The Radiosity Kernel Is Not Easy To Factorize n x n y y r y x r x O Writing the difference in energy B(x) E(x) Page 16 of 43 = = y k B(y) y=y 1 A x y k B(y) y=y 1 A x A x A x ρ(x) cosθ 1 cosθ 2 A y r 2 da x da y ρ(x) [ n y.( r x r y )][ n x.( r y r x )] A y π r y r x 4 da x da yi 16 Copyright c 2005 Sharat Chandran Jan 9 11

35 Key Contribution: Factorization for the Radiosity Kernel The Fast Multipole Method Representing vectors as 3x1 matrices, r = (x,y,z) x y = r z r 1. r 2 = r t 1r 2 = r t 2r 1 Expand the expression in the numerator [ n y.( r x r y )] [ n x.( r y r x )] = r t xn y r t yn x r t xn x r t xn y r t yn y r t yn x + r t yn y r t xn x Page 17 of 43 Define receiver matrices RM and the source matrices SM n y r t r t x y SM( r y ) = n y n x r t yn y r t RM( r x ) = r t xn x r t x y r t r yn t xn x y n x r t x [ n y.( r x r y )][ n x.( r y r x )] = RM( r x ) SM( r y ) 17 Copyright c 2005 Sharat Chandran Jan 9 11

36 Key Contribution: Factorization for the Radiosity Kernel The Fast Multipole Method For r y < r x (Hausner, 1997) Page 18 of 43

37 Key Contribution: Factorization for the Radiosity Kernel The Fast Multipole Method Page 18 of 43 For r y < r x (Hausner, 1997) 1 r y r x 4 = n=0 [n/2] n 2 j en j j=0 m= n+2 j { 1 We have the factored radiosity kernel B(x) E(x) = R m n j( r x ) = M m n j(o) = [n/2] n 2 j n=0 j=0 m= n+2 j 1 A x y k y=y 1 ρ(x) A x rx n+4 rx n+4 Yn 2 m j(θ x,φ x ) Y m } { r n e j nr m n j( r x ) M m n j(o) n 2 j(θ x,φ x )RM( r x )da x } yyn 2 m j (θ y,φ y ) A y B(y)r n yy m n 2 j (θ y,φ y )SM( r y )da y Two observations r y < r x p = 18 Copyright c 2005 Sharat Chandran Jan 9 11

38 The N logn Algorithm (2 Dimensions) The Fast Multipole Method Assumption: Particles are uniformly distributed in a square Consider a uniform hierarchical subdivision of space X X Level 0 X Page 19 of 43 Level 1 Level 2 19 Copyright c 2005 Sharat Chandran Jan 9 11

39 The N logn Algorithm (2 Dimensions) Nearest neighbors share a vertex Well separated Boxes are on the same level and are not nearest neighbors X X Page 20 of 43 Calculate multipole moments at the center of each box of Level 2 Multipole Expansion cannot be evaluated at nearest neighbors Recursion! 20 Copyright c 2005 Sharat Chandran Jan 9 11

40 The N logn Algorithm (2 Dimensions) The Fast Multipole Method Nearest neighbors share a vertex Well separated Boxes are on the same level and are not nearest neighbors X X Page 21 of 43 Calculate multipole moments at the center of each box of Level 2 Multipole Expansion cannot be evaluated at nearest neighbors Particles we have not yet accounted for in their interaction with box X are in children of the near neighbors of X s parent (at level 3). Recursion! 21 Copyright c 2005 Sharat Chandran Jan 9 11

41 4. The Fast Multipole Method of a box i consists of children of near neighbors of i s parent which are well separated from i. Maximum size of the interaction list is 27 X Page 22 of Copyright c 2005 Sharat Chandran Jan 9 11

42 The N logn Algorithm (2 Dimensions) The Fast Multipole Method Algorithm Subdivide till each box contains not more than M particles Number of leaves N/M Depth d of quad-tree log 4 (N/M) Total number of boxes d i=1 4 i 4N/3M At each level, calculate multipole moments at each box N p Page 23 of 43 At each level, for each particle, evaluate the multipole expansion of all boxes in its owners interaction list 27N p For the last level, for each particle calculate directly its interaction with all particles in its owners nearest neighbors O(N) Total Cost O(N logn)!

43 The N logn Algorithm (2 Dimensions) The Fast Multipole Method Algorithm Subdivide till each box contains not more than M particles Number of leaves N/M Depth d of quad-tree log 4 (N/M) Total number of boxes d i=1 4 i 4N/3M At each level, calculate multipole moments at each box N p Page 23 of 43 At each level, for each particle, evaluate the multipole expansion of all boxes in its owners interaction list 27N p For the last level, for each particle calculate directly its interaction with all particles in its owners nearest neighbors O(N) Total Cost O(N logn)! We are accessing each particle at every level Can we do better? 23 Copyright c 2005 Sharat Chandran Jan 9 11

44 5. Step 2: Translation of Multipole Expansion Why recompute multipole moments for each particle at different centers? Page 24 of 43

45 5. Step 2: Translation of Multipole Expansion Why recompute multipole moments for each particle at different centers? Page 24 of 43 Reuse computation, shift multipole centers 24 Copyright c 2005 Sharat Chandran Jan 9 11

46 Translation of Multipole Expansion : Math The Fast Multipole Method Page 25 of 43 We have the multipole moments due to N particles at O as M j (O) = N i=1 w(y i )B j ( Oy i ) To find the moments at O given the moments at O, if we can expand B j as B j ( O y i ) = p k=1 B k( Oy i )α j k ( OO ) Then the multipole moment at O will be M j (O ) = = = N i=1 N w(y i )B j ( O y i ) p i=1 k=1 w(y i )B k ( Oy i )α j k ( OO ) p M k (O)α j k ( OO ) k=1 Coefficients can be computed in O(p 2 ) time 25 Copyright c 2005 Sharat Chandran Jan 9 11 O O y j

47 Page 26 of 43 Contribution: Translation Theorem for the Radiosity Kernel B(x) E(x) = M m n j(o ) = n=0 [n/2] j=0 n k/2 k=0 s=0 e j n k e j n n 2 j m= n+2 j k 2s m 1 = k+2s e j nr m n j( r x ) M m n j(o ) j max j = j min J(...) OO k Y m 1 k 2s (OO )TM(OO ) M m 1+m n k, j (O)

48 Page 26 of 43 Contribution: Translation Theorem for the Radiosity Kernel B(x) E(x) = M m n j(o ) = n=0 [n/2] j=0 n k/2 k=0 s=0 e j n k e j n n 2 j m= n+2 j k 2s m 1 = k+2s e j nr m n j( r x ) M m n j(o ) j max j = j min J(...) OO k Y m 1 k 2s (OO )TM(OO ) M m 1+m n k, j (O) This one was rough... Used a theorem from Sack Copyright c 2005 Sharat Chandran Jan 9 11

49 N logn to N : Translation of Multipole Expansion The Fast Multipole Method Computing multipole moments at all levels was O(N logn) Revised Procedure Compute multipole moments at the lowest level O(N) Shift and aggregate multipole moments upwards till Level 2 O( d i=3 4 i p 2 ) O(4p 2 N/3M) Page 27 of 43 But we are still evaluating multipole expansions for each particle at each level 27 Copyright c 2005 Sharat Chandran Jan 9 11

50 6. Multipole moments represent field outside a cluster in a constant number of coefficients M(O ) 1 M(O ) 2 M(O ) 3 Page 28 of 43

51 6. Multipole moments represent field outside a cluster in a constant number of coefficients M(O ) 1 M(O ) 2 M(O ) 3 Page 28 of 43 Can external multipole moments be combined into a constant number of coefficients to represent the field inside a cluster? M(O ) 1 M(O ) 2 M(O ) 3 28 Copyright c 2005 Sharat Chandran Jan 9 11

52 Local Expansion : Math The Fast Multipole Method Page 29 of 43 To calculate f at x we now have f ( x) = p i=1 A i( Ox)M i (O) Now suppose we make A i degenerate in x and O about x 0 as A i ( Ox) = p l=1 C l( x 0 x)βl i( Ox 0 ) Substituting this expansion as A i, we have p f ( x) = C l ( p x 0 x)( βl i ( ) Ox 0 )M i (O) l=1 i=1 } {{ } L l ( x 0 ) = p l=1 C l ( x 0 x)l l ( x 0 ) x x 0 L l ( x 0 ) is the lth local expansion coefficient about x 0 and is computed in O(p 2 ) time O Multipole Center 29 Copyright c 2005 Sharat Chandran Jan 9 11

53 Page 30 of 43 Contribution: Local Expansion for the Radiosity Kernel If Ox 0 > x 0 x B(x) E(x) = k/2 k 2s k=0 s=0 m 1 = k+2s E ksm1 (x 0 x) L ksm1 (Ox 0 ) E ksm1 (x 0 x) = 1 A x A x ρ(x) x 0 x k Y m 1 k 2s (x 0x)RM(x 0 x)da x L ksm1 (Ox 0 ) = [n/2] n 2 j n=0 j=0 m= n+2 j l max enj(...)f j n jm ksm 1 l 2 (Ox 0 ) Mn m j(o) l 2 =l min F n jm ksm 1 l 2 (Ox 0 ) = Ox 0 n 4 k Y m m 1 l 2 (Ox 0 )TM(Ox 0 ) 30 Copyright c 2005 Sharat Chandran Jan 9 11

54 Page 31 of 43 N logn to N : Local Expansion At each level, multipole expansions of each box in its interaction list was evaluated at a particle 27N plogn Revised Procedure For each box at each level, combine multipole moments of the boxes in its interaction list into local coefficients at its center and evaluate for each particle d i=3 27(4 i p 2 ) + N p) 36p 2 N/M + N plogn Why evaluate at each level? 31 Copyright c 2005 Sharat Chandran Jan 9 11

55 7. Step 4: Translation of Local Expansion Collect local expansion coefficients but do not evaluate M(O ) 1 M(O ) 2 M(O ) 3 Page 32 of 43

56 7. Step 4: Translation of Local Expansion Collect local expansion coefficients but do not evaluate M(O ) 1 M(O ) 2 M(O ) 3 Shift the center of the local expansion of a box to each of its children Page 32 of Copyright c 2005 Sharat Chandran Jan 9 11

57 Translation of Local Expansion : Math To calculate f at x, we now have f ( x) = p i=1 C i ( x 0 x)l i ( x 0 ) x 0 To calculate f at x in terms of a shifted center x 1, we expand r i as C i ( x 0 x) = p j=1 C j( x 1 x)γ i j ( x 0 x 1 ) x x 1 Page 33 of 43 Substituting this expansion of C i f ( x) = p j=1 C j ( p x 1 x)( i=1 γ i j( x 0 x 1 )L i ( x 0 ) ) = p j=1 C j ( x 1 x)l j (x 1 ) Thus we can evaluate f in terms of the translated local expansion coefficients L j (x 1 ) = p i=1 γi j ( x 0 x 1 )L i ( x 0 ) in O(p 2 ) time 33 Copyright c 2005 Sharat Chandran Jan 9 11

58 Contribution: Local Expansion Translation for the Radiosity Kernel Page 34 of 43 B(x) E(x) = L k s m 1 (x 0x 1 ) = k/2 k 2s k=0 s=0 m 1 = k+2s k/2 k 2s k=k s=0 m 1 = k+2s E ksm1 (x 1 x) L ksm1 (x 0 x 1 ) j max j = j min ( 1) k+m 1 e j k k e s k J(...) x 1 x 0 k k Y m 1 +m 1 k k 2 j (x 1 x 0 )TM(x 0 x 1 ) L ksm1 (Ox 0 ) 34 Copyright c 2005 Sharat Chandran Jan 9 11

59 Page 35 of 43 N logn to N : Local Expansion Translation For each box at each level, combine multipole moments of the boxes in its interaction list into local coefficients at its center and evaluate for each particle 36p 2 N/M + N plogn Revised Procedure For each box at each level, combine multipole moments of the boxes in its interaction list into local coefficients and shift them to its children d i=3 27(4 i p 2 ) + 4 i p 2 36p 2 N/M + 4p 2 N/3M At the last level, evaluate the local expansion in each of the boxes at its constituent particles and compute direct interaction with near neighbors 9M 2 (N/M) + (pm)(n/m) = 9NM + pn We are in O(N)! 35 Copyright c 2005 Sharat Chandran Jan 9 11

60 8. Step 1 Construct an Octree Subdivide the space containing the whole system as an octree until the leaves contain not more than a constant number of bodies k Level 0 Page 36 of 43 Level 1 Level 0 36 Copyright c 2005 Sharat Chandran Jan 9 11

61 The Fast Multipole Algorithm Step 2 Compute s Two cells are nearest neighbors if they are at the same refinement level and are separated by not more than one cell. Two cells are well separated if they are at the same refinement level and are not nearest neighbors With each cell i, associate an interaction list consisting of children of nearest neighbors of i s parents which are well separated from cell i X X Page 37 of Copyright c 2005 Sharat Chandran Jan 9 11

62 The Fast Multipole Algorithm The Fast Multipole Method Step 3 Compute Multipole Moments (Upward) Compute the multipole moments M m n for each leaf cell, at the center of the cell, due to the particles contained within the cell. For a non leaf cell, translate and aggregate the multipole moments of its children to its center. This is repeated at each level in an upward pass at the end of which, we have the multipole moments in each cell due to the particles contained in that cell. Page 38 of Copyright c 2005 Sharat Chandran Jan 9 11

63 The Fast Multipole Algorithm The Fast Multipole Method Step 4 Compute Local Expansion Coefficients (Downward) Starting from the root cell, for each cell at level l, the multipole moments of all the cells in its interaction list are translated to local expansion coefficients about the center of the cell. The local expansion coefficients of the parent are then translated to the center of this cell and aggregated. Page 39 of Copyright c 2005 Sharat Chandran Jan 9 11

64 The Fast Multipole Algorithm Page 40 of 43 Step 5 Final Evaluation For each particle in the system, evaluate the local expansion using the local expansion coefficients of the cell to which it belongs. Interaction with all particles in its nearest neighbors and its parent cell are computed directly. The contribution from these sources is added to get the radiosity at that particle. 40 Copyright c 2005 Sharat Chandran Jan 9 11

65 Handling Occlusions Visibility is a point to point phenomenon, and is not analytical Page 41 of Copyright c 2005 Sharat Chandran Jan 9 11

66 Page 42 of 43 Handling Occlusions in FMM Procedure Modify(Box A) { visible interactionlist(a)=null for each box B old interactionlist(a){ state=visibility(a,b) if equals(state,valid) then visible interactionlist(a).include(b) else if equals(state,partial) then { if(notleaf(a)) for each a child(a) for each b child(b) interactionlist(a).include(b)}}} 42 Copyright c 2005 Sharat Chandran Jan 9 11

67 Handling Occlusions in FMM The Fast Multipole Method Procedure visibility(box A, Box B) { visible=0; for each cell a leafcell(a) for each cell b leafcell(b){ if FacingEachOther(a,b) then { result=shootanddetect(a,b) if equals(result,0) then Increment(visible,1) }} if equals(visible,0) return(invalid) else if equals(visible,leafcell(a).size*leafcell(b).size) return(valid); else return(partial) } Page 43 of 43 Procedure Generate(Box A){ Modify(A) for each a child(a) Generate(a)} 43 Copyright c 2005 Sharat Chandran Jan 9 11

68 Page 44 of 43 Conclusion A quick introduction to FMM and Global Illumination (GI) Reduction of the GI problem to problems similar to FMM Four new theorems for the radiosity kernel Also supporting implementation 44 Copyright c 2005 Sharat Chandran Jan 9 11

Introduction to Radiosity

Introduction to Radiosity Introduction to Radiosity Produce photorealistic pictures using global illumination Mathematical basis from the theory of heat transfer Enables color bleeding Provides view independent representation Unfortunately,

More information

Global Illumination. COMP 575/770 Spring 2013

Global Illumination. COMP 575/770 Spring 2013 Global Illumination COMP 575/770 Spring 2013 Final Exam and Projects COMP 575 Final Exam Friday, May 3 4:00 pm COMP 770 (and 575 extra credit) Projects Final report due by end of day, May 1 Presentations:

More information

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15 Computer Graphics Lecture 10 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local

More information

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination Raytracing & Epsilon intersects light @ t = 25.2 intersects sphere1 @ t = -0.01 & Monte Carlo Ray Tracing intersects sphere1 @ t = 10.6 Solution: advance the ray start position epsilon distance along the

More information

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura Computer Graphics Lecture 13 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local

More information

The Rendering Equation & Monte Carlo Ray Tracing

The Rendering Equation & Monte Carlo Ray Tracing Last Time? Local Illumination & Monte Carlo Ray Tracing BRDF Ideal Diffuse Reflectance Ideal Specular Reflectance The Phong Model Radiosity Equation/Matrix Calculating the Form Factors Aj Ai Reading for

More information

The Rendering Equation and Path Tracing

The Rendering Equation and Path Tracing The Rendering Equation and Path Tracing Louis Feng April 22, 2004 April 21, 2004 Realistic Image Synthesis (Spring 2004) 1 Topics The rendering equation Original form Meaning of the terms Integration Path

More information

Local vs. Global Illumination & Radiosity

Local vs. Global Illumination & Radiosity Last Time? Local vs. Global Illumination & Radiosity Ray Casting & Ray-Object Intersection Recursive Ray Tracing Distributed Ray Tracing An early application of radiative heat transfer in stables. Reading

More information

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1 MIT 6.837 Monte-Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 1 Schedule Review Session: Tuesday November 18 th, 7:30 pm bring lots of questions! Quiz 2: Thursday November 20 th, in class (one weeks

More information

Illumination Under Trees. Nelson Max University of Tokyo, and University of California, Davis

Illumination Under Trees. Nelson Max University of Tokyo, and University of California, Davis Illumination Under Trees Nelson Max University of Tokyo, and University of California, Davis Topics Hierarchical image based rendering for trees Atmospheric illumination and shadows Shadow penumbras with

More information

Algorithms for GIS:! Quadtrees

Algorithms for GIS:! Quadtrees Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)

More information

w Foley, Section16.1 Reading

w Foley, Section16.1 Reading Shading w Foley, Section16.1 Reading Introduction So far, we ve talked exclusively about geometry. w What is the shape of an object? w How do I place it in a virtual 3D space? w How do I know which pixels

More information

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

More information

Anti-aliasing. Images and Aliasing

Anti-aliasing. Images and Aliasing CS 130 Anti-aliasing Images and Aliasing Aliasing errors caused by rasterizing How to correct them, in general 2 1 Aliased Lines Stair stepping and jaggies 3 Remove the jaggies Anti-aliased Lines 4 2 Aliasing

More information

Fast Multipole Method on the GPU

Fast Multipole Method on the GPU Fast Multipole Method on the GPU with application to the Adaptive Vortex Method University of Bristol, Bristol, United Kingdom. 1 Introduction Particle methods Highly parallel Computational intensive Numerical

More information

Visualisatie BMT. Rendering. Arjan Kok

Visualisatie BMT. Rendering. Arjan Kok Visualisatie BMT Rendering Arjan Kok a.j.f.kok@tue.nl 1 Lecture overview Color Rendering Illumination 2 Visualization pipeline Raw Data Data Enrichment/Enhancement Derived Data Visualization Mapping Abstract

More information

Global Illumination and the Rendering Equation

Global Illumination and the Rendering Equation CS294-13: Special Topics Lecture #3 Advanced Computer Graphics University of California, Berkeley Handout Date??? Global Illumination and the Rendering Equation Lecture #3: Wednesday, 9 September 2009

More information

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity Schedule Review Session: Tuesday November 18 th, 7:30 pm, Room 2-136 bring lots of questions! MIT 6.837 Monte-Carlo Ray Tracing Quiz 2: Thursday November 20 th, in class (one weeks from today) MIT EECS

More information

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map Part I The Basic Algorithm 1 Principles of A two-pass global illumination method Pass I Computing the photon map A rough representation of the lighting in the scene Pass II rendering Regular (distributed)

More information

Re-rendering from a Dense/Sparse Set of Images

Re-rendering from a Dense/Sparse Set of Images Re-rendering from a Dense/Sparse Set of Images Ko Nishino Institute of Industrial Science The Univ. of Tokyo (Japan Science and Technology) kon@cvl.iis.u-tokyo.ac.jp Virtual/Augmented/Mixed Reality Three

More information

6. Illumination, Lighting

6. Illumination, Lighting Jorg s Graphics Lecture Notes 6. Illumination, Lighting 1 6. Illumination, Lighting No ray tracing in OpenGL! ray tracing: direct paths COP interreflection: soft shadows, color bleeding. umbra, penumbra,

More information

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface

More information

x ~ Hemispheric Lighting

x ~ Hemispheric Lighting Irradiance and Incoming Radiance Imagine a sensor which is a small, flat plane centered at a point ~ x in space and oriented so that its normal points in the direction n. This sensor can compute the total

More information

Core ideas: Neumann series

Core ideas: Neumann series Radiosity methods Core ideas: Neumann series We have B( x) = E( x) + ρ d ( x) B( u) cosθ i cosθ s all other surfaces πr(x,u) 2 Vis( x,u)da u Can write: Which gives B = E + ρkb B = E + (ρk)e + (ρk)(ρk)e

More information

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz Outline Jan Kautz Basic terms in radiometry Radiance Reflectance The operator form of the radiance equation Meaning of the operator form Approximations to the radiance equation 2005 Mel Slater, 2006 Céline

More information

CS 428: Fall Introduction to. Radiosity. Andrew Nealen, Rutgers, /7/2009 1

CS 428: Fall Introduction to. Radiosity. Andrew Nealen, Rutgers, /7/2009 1 CS 428: Fall 2009 Introduction to Computer Graphics Radiosity 12/7/2009 1 Problems with diffuse lighting A Daylight Experiment, John Ferren 12/7/2009 2 Problems with diffuse lighting 12/7/2009 3 Direct

More information

Fast Multipole and Related Algorithms

Fast Multipole and Related Algorithms Fast Multipole and Related Algorithms Ramani Duraiswami University of Maryland, College Park http://www.umiacs.umd.edu/~ramani Joint work with Nail A. Gumerov Efficiency by exploiting symmetry and A general

More information

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010 Computer Graphics 1 Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons

More information

Lightscape A Tool for Design, Analysis and Presentation. Architecture Integrated Building Systems

Lightscape A Tool for Design, Analysis and Presentation. Architecture Integrated Building Systems Lightscape A Tool for Design, Analysis and Presentation Architecture 4.411 Integrated Building Systems Lightscape A Tool for Design, Analysis and Presentation Architecture 4.411 Building Technology Laboratory

More information

SOME THEORY BEHIND REAL-TIME RENDERING

SOME THEORY BEHIND REAL-TIME RENDERING SOME THEORY BEHIND REAL-TIME RENDERING Jaroslav Křivánek Charles University in Prague Off-line realistic rendering (not yet in rea-time) Ray tracing 3 4 Image created by Bertrand Benoit Rendered in Corona

More information

Photorealism. Ray Tracing Texture Mapping Radiosity

Photorealism. Ray Tracing Texture Mapping Radiosity Photorealism Ray Tracing Texture Mapping Radiosity Photorealism -- Taking into Account Global Illumination Light can arrive at surfaces indirectly This light called global illumination To now we ve approximated

More information

Lecture 12: Photon Mapping. Biased Methods

Lecture 12: Photon Mapping. Biased Methods Lecture 12: Photon Mapping CS 6620, Spring 2009 Kavita Bala Computer Science Cornell University MC problems Biased Methods Biased methods: store information (caching) Better type of noise: blurring Greg

More information

Radiosity. Early Radiosity. Page 1

Radiosity. Early Radiosity. Page 1 Page 1 Radiosity Classic radiosity = finite element method Assumptions Diffuse reflectance Usually polygonal surfaces Advantages Soft shadows and indirect lighting View independent solution Precompute

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

More information

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading CENG 477 Introduction to Computer Graphics Ray Tracing: Shading Last Week Until now we learned: How to create the primary rays from the given camera and image plane parameters How to intersect these rays

More information

COMP 558 lecture 16 Nov. 8, 2010

COMP 558 lecture 16 Nov. 8, 2010 Shading The term shading typically refers to variations in irradiance along a smooth Lambertian surface. Recall that if a surface point is illuminated by parallel light source from direction l, then the

More information

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1) Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects

More information

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch 15-462 Computer Graphics I Lecture 7 Lighting and Shading February 12, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Light Sources Phong Illumination Model

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

13 Distribution Ray Tracing

13 Distribution Ray Tracing 13 In (hereafter abbreviated as DRT ), our goal is to render a scene as accurately as possible. Whereas Basic Ray Tracing computed a very crude approximation to radiance at a point, in DRT we will attempt

More information

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing by Stephen Kazmierczak Introduction Unbiased light transport algorithms can sometimes take a large number of rays to

More information

Questions??? Announcements Assignment 3 due today

Questions??? Announcements Assignment 3 due today Announcements Assignment 3 due today Questions??? Remember that you have late days (if you haven t used them yet ) Problem set 3 out at the end of the day Movie for Assignment 2 at the end of class 1 Ray

More information

Computer Graphics Global Illumination

Computer Graphics Global Illumination Computer Graphics 2016 14. Global Illumination Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2017-01-09 Course project - Tomorrow - 3 min presentation - 2 min demo Outline - Shadows - Radiosity

More information

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall Other Rendering Techniques 1 Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity 2 Intro Some more Raytracing Light maps Photon-map Reyes Shadow maps Sahdow volumes PRT BSSRF

More information

global light baking software

global light baking software How to create a second level global light baking software Li Wenyao Game engine researcher, Netease Game Outline Development background Baking direct lighting Baking indirect lighting Starting point 1

More information

Accelerated Ambient Occlusion Using Spatial Subdivision Structures

Accelerated Ambient Occlusion Using Spatial Subdivision Structures Abstract Ambient Occlusion is a relatively new method that gives global illumination like results. This paper presents a method to accelerate ambient occlusion using the form factor method in Bunnel [2005]

More information

CS-184: Computer Graphics. Today. Lecture #16: Global Illumination. Sunday, November 8, 2009

CS-184: Computer Graphics. Today. Lecture #16: Global Illumination. Sunday, November 8, 2009 C-184: Computer Graphics Lecture #16: Global Illumination Prof. James O Brien University of California, Berkeley V2009-F-16-1.0 Today The Rendering Equation Radiosity Method Photon Mapping Ambient Occlusion

More information

To Do. Advanced Computer Graphics. Course Outline. Course Outline. Illumination Models. Diffuse Interreflection

To Do. Advanced Computer Graphics. Course Outline. Course Outline. Illumination Models. Diffuse Interreflection Advanced Computer Graphics CSE 163 [Spring 017], Lecture 11 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir To Do Assignment due May 19 Should already be well on way. Contact us for difficulties etc. This

More information

Comp 410/510 Computer Graphics. Spring Shading

Comp 410/510 Computer Graphics. Spring Shading Comp 410/510 Computer Graphics Spring 2017 Shading Why we need shading Suppose we build a model of a sphere using many polygons and then color it using a fixed color. We get something like But we rather

More information

Reading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5.

Reading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5. Reading Required: Angel 6.1-6.3, 6.5, 6.7-6.8 Optional: Shading Angel 6.4 OpenGL red book, chapter 5. 1 2 Introduction An abundance of photons So far, we ve talked exclusively about geometry. Properly

More information

Chapter 7 - Light, Materials, Appearance

Chapter 7 - Light, Materials, Appearance Chapter 7 - Light, Materials, Appearance Types of light in nature and in CG Shadows Using lights in CG Illumination models Textures and maps Procedural surface descriptions Literature: E. Angel/D. Shreiner,

More information

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller Global Illumination CMPT 361 Introduction to Computer Graphics Torsten Möller Reading Foley, van Dam (better): Chapter 16.7-13 Angel: Chapter 5.11, 11.1-11.5 2 Limitation of local illumination A concrete

More information

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

More information

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Epipolar geometry contd.

Epipolar geometry contd. Epipolar geometry contd. Estimating F 8-point algorithm The fundamental matrix F is defined by x' T Fx = 0 for any pair of matches x and x in two images. Let x=(u,v,1) T and x =(u,v,1) T, each match gives

More information

Global Illumination with Glossy Surfaces

Global Illumination with Glossy Surfaces Global Illumination with Glossy Surfaces Wolfgang Stürzlinger GUP, Johannes Kepler Universität, Altenbergerstr.69, A-4040 Linz, Austria/Europe wrzl@gup.uni-linz.ac.at Abstract Photorealistic rendering

More information

Computer Graphics and GPGPU Programming

Computer Graphics and GPGPU Programming Computer Graphics and GPGPU Programming Donato D Ambrosio Department of Mathematics and Computer Science and Center of Excellence for High Performace Computing Cubo 22B, University of Calabria, Rende 87036,

More information

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Illumination & Shading

Illumination & Shading Illumination & Shading Goals Introduce the types of light-material interactions Build a simple reflection model---the Phong model--- that can be used with real time graphics hardware Why we need Illumination

More information

Computer Graphics Global Illumination

Computer Graphics Global Illumination ! Computer Graphics 2013! 14. Global Illumination Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2013-10-30 Final examination - Friday night, 7:30PM ~ 9:00PM, Nov. 8th - Room 103 (?), CaoGuangBiao

More information

Other approaches to obtaining 3D structure

Other approaches to obtaining 3D structure Other approaches to obtaining 3D structure Active stereo with structured light Project structured light patterns onto the object simplifies the correspondence problem Allows us to use only one camera camera

More information

Virtual Reality for Human Computer Interaction

Virtual Reality for Human Computer Interaction Virtual Reality for Human Computer Interaction Appearance: Lighting Representation of Light and Color Do we need to represent all I! to represent a color C(I)? No we can approximate using a three-color

More information

Spherical Harmonic Lighting: The Gritty Details Robin Green

Spherical Harmonic Lighting: The Gritty Details Robin Green Spherical Harmonic Lighting: The Gritty Details Robin Green R&D Programmer Sony Computer Entertainment America What This Talk Is About Advanced Lecture Explicit equations will be shown This talk is one

More information

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19 Lecture 17: Recursive Ray Tracing Where is the way where light dwelleth? Job 38:19 1. Raster Graphics Typical graphics terminals today are raster displays. A raster display renders a picture scan line

More information

CS-184: Computer Graphics. Today. Lecture 22: Radiometry! James O Brien University of California, Berkeley! V2014-S

CS-184: Computer Graphics. Today. Lecture 22: Radiometry! James O Brien University of California, Berkeley! V2014-S CS-184: Computer Graphics Lecture 22: Radiometry James O Brien University of California, Berkeley V2014-S-15-1.0 Today Radiometry: measuring light Local Illumination and Raytracing were discussed in an

More information

A Kernel-independent Adaptive Fast Multipole Method

A Kernel-independent Adaptive Fast Multipole Method A Kernel-independent Adaptive Fast Multipole Method Lexing Ying Caltech Joint work with George Biros and Denis Zorin Problem Statement Given G an elliptic PDE kernel, e.g. {x i } points in {φ i } charges

More information

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Topic 11: Photographs Texture Mapping Motivation Sources of texture Texture coordinates

More information

Advanced 3D-Data Structures

Advanced 3D-Data Structures Advanced 3D-Data Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different

More information

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping Advanced Graphics Path Tracing and Photon Mapping Part 2 Path Tracing and Photon Mapping Importance Sampling Combine importance sampling techniques Reflectance function (diffuse + specular) Light source

More information

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University A Brief Overview of Global Illumination Thomas Larsson, Afshin Ameri Mälardalen University 1 What is Global illumination? Global illumination is a general name for realistic rendering algorithms Global

More information

CS 488. More Shading and Illumination. Luc RENAMBOT

CS 488. More Shading and Illumination. Luc RENAMBOT CS 488 More Shading and Illumination Luc RENAMBOT 1 Illumination No Lighting Ambient model Light sources Diffuse reflection Specular reflection Model: ambient + specular + diffuse Shading: flat, gouraud,

More information

Implementation of rotation-based operators for Fast Multipole Method in X10 Andrew Haigh

Implementation of rotation-based operators for Fast Multipole Method in X10 Andrew Haigh School of Computer Science College of Engineering and Computer Science Implementation of rotation-based operators for Fast Multipole Method in X10 Andrew Haigh Supervisors: Dr Eric McCreath Josh Milthorpe

More information

CS184 LECTURE RADIOMETRY. Kevin Wu November 10, Material HEAVILY adapted from James O'Brien, Brandon Wang, Fu-Chung Huang, and Aayush Dawra

CS184 LECTURE RADIOMETRY. Kevin Wu November 10, Material HEAVILY adapted from James O'Brien, Brandon Wang, Fu-Chung Huang, and Aayush Dawra CS184 LECTURE RADIOMETRY Kevin Wu November 10, 2014 Material HEAVILY adapted from James O'Brien, Brandon Wang, Fu-Chung Huang, and Aayush Dawra ADMINISTRATIVE STUFF Project! TODAY Radiometry (Abridged):

More information

Surface Rendering Methods

Surface Rendering Methods Surface Rendering Methods 6 th Week, 2008 Sun-Jeong Kim Polygon Rendering Methods Determining the surface intensity at every projected pixel position using an illumination model Light-material interactions

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

CS770/870 Spring 2017 Radiosity

CS770/870 Spring 2017 Radiosity Preview CS770/870 Spring 2017 Radiosity Indirect light models Brief radiosity overview Radiosity details bidirectional reflectance radiosity equation radiosity approximation Implementation details hemicube

More information

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11. Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images

More information

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural 1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that

More information

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. 11 11.1 Basics So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. Global models include incident light that arrives

More information

Introduction. Lighting model Light reflection model Local illumination model Reflectance model BRDF

Introduction. Lighting model Light reflection model Local illumination model Reflectance model BRDF Shading Introduction Affine transformations help us to place objects into a scene. Before creating images of these objects, we ll look at models for how light interacts with their surfaces. Such a model

More information

Assignment 3: Path tracing

Assignment 3: Path tracing Assignment 3: Path tracing EDAN30 April 2, 2011 In this assignment you will be asked to extend your ray tracer to support path tracing. In order to pass the assignment you need to complete all tasks. Make

More information

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch CSCI 420 Computer Graphics Lecture 18 Global Illumination Jernej Barbic University of Southern California BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch. 13.4-13.5] 1 Global Illumination

More information

CS5620 Intro to Computer Graphics

CS5620 Intro to Computer Graphics So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages

More information

CS770/870 Spring 2017 Radiosity

CS770/870 Spring 2017 Radiosity CS770/870 Spring 2017 Radiosity Greenberg, SIGGRAPH 86 Tutorial Spencer, SIGGRAPH 93 Slide Set, siggraph.org/education/materials/hypergraph/radiosity/radiosity.htm Watt, 3D Computer Graphics -- Third Edition,

More information

The Light Field. Last lecture: Radiometry and photometry

The Light Field. Last lecture: Radiometry and photometry The Light Field Last lecture: Radiometry and photometry This lecture: Light field = radiance function on rays Conservation of radiance Measurement equation Throughput and counting rays Irradiance calculations

More information

ExaFMM. Fast multipole method software aiming for exascale systems. User's Manual. Rio Yokota, L. A. Barba. November Revision 1

ExaFMM. Fast multipole method software aiming for exascale systems. User's Manual. Rio Yokota, L. A. Barba. November Revision 1 ExaFMM Fast multipole method software aiming for exascale systems User's Manual Rio Yokota, L. A. Barba November 2011 --- Revision 1 ExaFMM User's Manual i Revision History Name Date Notes Rio Yokota,

More information

CS770/870 Spring 2017 Color and Shading

CS770/870 Spring 2017 Color and Shading Preview CS770/870 Spring 2017 Color and Shading Related material Cunningham: Ch 5 Hill and Kelley: Ch. 8 Angel 5e: 6.1-6.8 Angel 6e: 5.1-5.5 Making the scene more realistic Color models representing the

More information

Efficient O(N log N) algorithms for scattered data interpolation

Efficient O(N log N) algorithms for scattered data interpolation Efficient O(N log N) algorithms for scattered data interpolation Nail Gumerov University of Maryland Institute for Advanced Computer Studies Joint work with Ramani Duraiswami February Fourier Talks 2007

More information

Photometric Stereo. Lighting and Photometric Stereo. Computer Vision I. Last lecture in a nutshell BRDF. CSE252A Lecture 7

Photometric Stereo. Lighting and Photometric Stereo. Computer Vision I. Last lecture in a nutshell BRDF. CSE252A Lecture 7 Lighting and Photometric Stereo Photometric Stereo HW will be on web later today CSE5A Lecture 7 Radiometry of thin lenses δa Last lecture in a nutshell δa δa'cosα δacos β δω = = ( z' / cosα ) ( z / cosα

More information

OpenCL Implementation Of A Heterogeneous Computing System For Real-time Rendering And Dynamic Updating Of Dense 3-d Volumetric Data

OpenCL Implementation Of A Heterogeneous Computing System For Real-time Rendering And Dynamic Updating Of Dense 3-d Volumetric Data OpenCL Implementation Of A Heterogeneous Computing System For Real-time Rendering And Dynamic Updating Of Dense 3-d Volumetric Data Andrew Miller Computer Vision Group Research Developer 3-D TERRAIN RECONSTRUCTION

More information

Homework 3: Shading, Raytracing, and Image Processing

Homework 3: Shading, Raytracing, and Image Processing Computer Graphics CSE 457, Spring 1999 Craig Kaplan Douglas Zongker Homework 3: Shading, Raytracing, and Image Processing Received: Friday May 7, 1999 Due: Friday May 21, 1999 DIRECTIONS Please provide

More information

Shading Algorithms. Ron Goldman Department of Computer Science Rice University

Shading Algorithms. Ron Goldman Department of Computer Science Rice University Shading Algorithms Ron Goldman Department of Computer Science Rice University Illumination and Shading Standard Assumptions Curved surfaces are approximated by planar polygons. All light sources are point

More information

Lecture 15: Shading-I. CITS3003 Graphics & Animation

Lecture 15: Shading-I. CITS3003 Graphics & Animation Lecture 15: Shading-I CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Learn that with appropriate shading so objects appear as threedimensional

More information

Lecture 21: Shading. put your trust in my shadow. Judges 9:15

Lecture 21: Shading. put your trust in my shadow. Judges 9:15 Lecture 21: Shading put your trust in my shadow. Judges 9:15 1. Polygonal Models Polygonal models are one of the most common representations for geometry in Computer Graphics. Polygonal models are popular

More information

Center for Computational Science

Center for Computational Science Center for Computational Science Toward GPU-accelerated meshfree fluids simulation using the fast multipole method Lorena A Barba Boston University Department of Mechanical Engineering with: Felipe Cruz,

More information

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate?

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate? Monte-Carlo Ray Tracing Antialiasing & integration So far, Antialiasing as signal processing Now, Antialiasing as integration Complementary yet not always the same in particular for jittered sampling Image

More information

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity Today Anti-aliasing Surface Parametrization Soft Shadows Global Illumination Path Tracing Radiosity Exercise 2 Sampling Ray Casting is a form of discrete sampling. Rendered Image: Sampling of the ground

More information