cs 431/636 advanced rendering techniquesdavid/classes/cs431/lectures/cgii_pres1.pdfcs 431/636...
TRANSCRIPT
![Page 1: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/1.jpg)
CS 431/636 Advanced Rendering Techniques"
Dr. David Breen"University Crossings 153"Tuesday 6PM → 8:50PM"
Presentation 1"3/30/16"
![Page 2: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/2.jpg)
Class Topics and Objectives"n Photo-realistic image generation"n Ray Tracing!"n Learn and implement the algorithms
needed to create ray traced images"n Serious numerical computing and
programming class"n Assumes you know CG/ICG material"
![Page 3: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/3.jpg)
Class Structure"n Weekly lectures & reading assignments"n 6 regular programming assignments"n 1 extra credit assignment"n Post images on the web"
n E-mail the URL to [email protected]"n Upload code to Bb Vista"n Grad students give presentations"n Final exam on material not covered by
assignments"
![Page 4: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/4.jpg)
Grading"n Graduate Section"
n Programming Assignments - 75%"n Paper Presentation - 10%"n Final Exam – 15%"
n Undergraduate Section"n Programming Assignments - 85%"n Final Exam – 15%"
n Late policy"n 1 point/day"n Maximum 5 points off"
![Page 5: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/5.jpg)
Go To Web Sites"n Class web site"n Previous pictures web site"
![Page 6: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/6.jpg)
Slide Credits""
n Kevin Suffern - University of Technology, Sydney, Australia"
n G. Drew Kessler & Larry Hodges - Georgia Institute of Technology
n Fredo Durand & Barb Cutler - MIT"n Computer Graphics I"
![Page 7: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/7.jpg)
Ray Casting "n Determines visible surfaces by tracing “light”
rays from the viewer’s eye to the objects"n View plane is divided by a pixel grid"n The eye ray is fired from the center of projection
through each pixel "
1994 Foley/VanDam/Finer/Huges/Phillips ICG
![Page 8: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/8.jpg)
Ray Tracing"n Extension of ray casting"n Idea: Continue to
bounce the ray in the scene"
n Shoot rays to light sources"
n Simple and powerful"n Reflections, shadows,
transparency and multiple light sources"
![Page 9: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/9.jpg)
Ray Tracing Diagrams"
![Page 10: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/10.jpg)
First Ray-Traced Image"
Whitted 1980
![Page 11: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/11.jpg)
Issues"n Ray-object intersections"n Complex, hierarchical models (CSG?)"n Transformations"n Camera models"n Recursive algorithms"n Surface physics (shading models)"n Color representations"n Light representations"n Sampling, anti-aliasing and filtering"n Geometric optics"n Acceleration techniques"n Texture mapping"
![Page 12: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/12.jpg)
![Page 13: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/13.jpg)
![Page 14: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/14.jpg)
Left-handed system!
![Page 15: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/15.jpg)
![Page 16: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/16.jpg)
sj
sk
![Page 17: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/17.jpg)
![Page 18: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/18.jpg)
Calculating Primary Rays"n Given (in world coordinates)"
n Camera (eye point) location O!n Camera view out direction (Zv)"n Camera view up vector (Vup)"n Distance to image plane (d)"n Horizontal camera view angle (θ)"n Pixel resolution of image plane (hres, vres)"
n Calculate set of rays (d) that equally samples the image plane"
![Page 19: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/19.jpg)
Calculate Preliminary Values"n Camera view side direction (Xv)"
n Xv = Zv × Vup (left-handed system)"n Make sure that Yv is orthogonal to
Xv & Zv "n Yv = Xv × Zv "
n Be sure to normalize Xv, Yv & Zv"n Horizontal length of image plane (sj)"
n Next slide"
![Page 20: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/20.jpg)
n Calculating sj"n h = d • tan(θ/2)"n sj = 2h"n sj = 2d • tan(θ/2)"
![Page 21: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/21.jpg)
Calculate Preliminary Values"n Vertical length of image plane (sk)"
n sk = sj • (vres / hres)"n Assume square pixels"
![Page 22: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/22.jpg)
Calculate Preliminary Values"n Position of top left pixel (P0,0)"
n O + d * Zv - (Sj/2) * Xv + (Sk/2) * Yv "
All in world coordinates!
![Page 23: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/23.jpg)
Calculate Those Rays!"n P0,0 + α Xv - β Yv sweeps out image plane"n 0 ≤ α ≤ Sj; 0 ≤ β ≤ Sk""for (j=0; j++; j < hres) "
for (k=0; k++; k < vres) {""dj,k = (P0,0 + Sj*(j/(hres-1)) * Xv "" " " - Sk*(k/(vres-1)) * Yv) - O;"" d’j,k = dj,k / | dj,k | ;""Image[j,k] = ray_trace(O, d’j,k , Scene);"
}"
![Page 24: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/24.jpg)
Calculate Those Rays!"
"
for (j=0; j++; j < hres) "for (k=0; k++; k < vres) {""dj,k = (P0,0 + Sj*(j/(hres-1)) * Xv "" " " - Sk*(k/(vres-1)) * Yv) - O;"" d’j,k = dj,k / | dj,k | ;""Image[j,k] = ray_trace(O, d’j,k , Scene);"
}"
![Page 25: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/25.jpg)
![Page 26: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/26.jpg)
![Page 27: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/27.jpg)
![Page 28: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/28.jpg)
![Page 29: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/29.jpg)
![Page 30: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/30.jpg)
![Page 31: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/31.jpg)
![Page 32: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/32.jpg)
![Page 33: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/33.jpg)
![Page 34: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/34.jpg)
Parameters"n X and Y resolution of image"n Camera location & direction"n Distance between camera & image plane"n Camera view angle"n Distance between pixels"n These are not independent!"n Goal → Choose your independent
variables and calculate your d’s"
![Page 35: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/35.jpg)
I recommend setting …"n X and Y resolution of image"
n (hres, vres)"n Camera location & orientation"
n O & Zv & Vup!n Distance between camera & image plane"
n d (a positive scalar, e.g. 10)"n Camera view angle"
n θ"
![Page 36: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/36.jpg)
Ray-Sphere Intersection"
G. Drew Kessler"Larry Hodges"Georgia Institute of Technology"
![Page 37: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/37.jpg)
Ray/Sphere Intersection (Algebraic Solution)"Ray is defined by R(t) = Ro + Rd*t where t > 0."
"Ro = Origin of ray at (xo, yo, zo)"Rd = Direction of ray [xd, yd, zd] (unit vector)""
Sphere's surface is defined by the set of points {(xs, ys, zs)} satisfying the equation:"
"(xs - xc)2 + (ys - yc)2 + (zs - zc)2 - rs
2 = 0""Center of sphere: (xc, yc, zc)"Radius of sphere: rs"
![Page 38: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/38.jpg)
Possible Cases of Ray/Sphere Intersection"
1 2
3 4
5
1. Ray intersects sphere twice with t>0
2. Ray tangent to sphere
3. Ray intersects sphere with t<0
4. Ray originates inside sphere
5. Ray does not intersect sphere
![Page 39: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/39.jpg)
Solving For t"Substitute the basic ray equation:"
x = xo + xd*t"y = yo + yd*t"z = zo + zd*t"
into the equation of the sphere:"(x0 + xdt - xc)2 + (y0 + ydt - yc)2 + (z0 + zdt - zc)2 - rs
2 = 0"This is a quadratic equation in t: At2 + Bt + C = 0,
where"A = xd
2 + yd2 + zd
2"B = 2[xd(x0 - xc) + yd(y0 - yc) + zd(z0 - zc)]"C = (x0 - xc)2 + (y0 - yc)2 + (z0 - zc)2 - rs
2"
Note: A=1 "
![Page 40: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/40.jpg)
Relation of t to Intersection"We want the smallest positive t - call it ti"
t0
t1
t1
t0 Discriminant = 0
Discriminant < 0
t1
t0
!!
"
#
$$
%
& −+−=
!!
"
#
$$
%
& −−−=
24
24
2
1
2
0
ACBBt
ACBBt
t0
![Page 41: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/41.jpg)
Actual Intersection"Intersection point, " (xi, yi, zi) = (xo+xd*ti, yo+yd*ti, zo+zd*ti)"Unit vector normal to the surface at this point is"
N = [(xi - xc) / rs, (yi - yc) / rs, (zi - zc) / rs]"If the ray originates inside the sphere, N should
be negated so that it points back toward the center."
N N
![Page 42: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/42.jpg)
Summary (Algebraic Solution)"1. Calculate A, B and C of the quadratic intersection equation"2. Calculate discriminant (If < 0, then no intersection)"3. Calculate t0 "4. If t0 < 0, then calculate t1 (If t1 < 0, no intersection point
on ray)"5. Calculate intersection point"6. Calculate normal vector at point""Helpful pointers:"n Precompute rs
2"
n Precompute 1/rs"n If computed t is very small then, due to rounding error, you
may not have a valid intersection"
![Page 43: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/43.jpg)
Ray-Triangle Intersection"
Fredo Durand"Barb Cutler"MIT"
![Page 44: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/44.jpg)
![Page 45: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/45.jpg)
![Page 46: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/46.jpg)
![Page 47: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/47.jpg)
![Page 48: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/48.jpg)
![Page 49: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/49.jpg)
![Page 50: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/50.jpg)
![Page 51: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/51.jpg)
Matrix A
![Page 52: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/52.jpg)
|A| determinant of matrix A
![Page 53: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/53.jpg)
![Page 54: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/54.jpg)
Calculate Intersection Point"n Are β and γ both non-negative? "n Is β + γ ≤ 1?"n Is t non-negative? "n If so, you’ve got an intersection!"n P = R + tD"
![Page 55: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/55.jpg)
Design Your Ray Tracer!"n “Novice programmers often neglect the design
phase, instead diving into coding without giving thought to the evolution of a piece of software over time. The result is a haphazard, poorly modularized code which is difficult to maintain and modify. A few minutes of planning short-term and long-term goals at the beginning is time well spent.”
n Paul Heckbert, “Writing a Ray Tracer”, An Introduction to Ray Tracing, Ed. A.S. Glassner
![Page 56: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/56.jpg)
Modular Functionality"n Read and write image files"n Create hierarchical geometric models with transformations"n Support several geometric primitives"n Geometric calculations & parameters"
n Ray-object intersections"n Normals"n Bounding boxes"n Color & surface properties"n Texture maps"
n Intersect arbitrary ray with scene"n Stop at first intersection (shadow rays)"
n Recursive generation and summation of rays"n Adaptive sampling of image plane"n Light properties"
![Page 57: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/57.jpg)
Possible Software Structure"
P. Heckbert Writing a Ray Tracer
![Page 58: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/58.jpg)
Progression of Assignments"n Basic ray tracer with spheres and
triangles"n Triangle/sphere intersection. No shading."
n Simple shading and point light sources"n Acceleration techniques"n Adaptive super-sampling/anti-aliasing"n Shadows and reflections"n Transparency and refraction "n 2D/3D texture mapping"
![Page 59: CS 431/636 Advanced Rendering Techniquesdavid/Classes/CS431/Lectures/CGII_Pres1.pdfCS 431/636 Advanced Rendering Techniques" Dr. David Breen" University Crossings 153" Tuesday 6PM](https://reader035.vdocument.in/reader035/viewer/2022081523/5fdc210632ae9f747f799eb2/html5/thumbnails/59.jpg)
Wrap Up"n First programming assignment"
n Due 4/10/16"n Go to web page"
n On-campus grad students will present papers in class. One student per class."
n Need to pick paper."