CS 354 Final Exam Review
-
Upload
mark-kilgard -
Category
Technology
-
view
14 -
download
2
description
Transcript of CS 354 Final Exam Review
![Page 1: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/1.jpg)
CS 354Review for Final
Mark KilgardUniversity of TexasMay 3, 2012
![Page 2: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/2.jpg)
CS 354 2
Today’s material
In-class quiz On surfaces & programmable tessellation
lecture Lecture topic
What to study for the final
![Page 3: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/3.jpg)
CS 354 3
Daily Quiz1. How many control points
specify a bi-cubic Bezier path?
2. How many control points specify a Bezier triangle patch?
3. Programmable tessellation relies on two programmable shader stages. What are the names of these two stages? (Give either the OpenGL or Direct3D names.)
4. Multiple choice: Subdivision surfaces repeatedly apply these two steps
a) refinement & smoothing
b) divide & conquer
c) sort & merge
d) push & pop
e) push & pull
On a sheet of paper• Write your EID, name, and date• Write #1, #2, #3, #4 followed by its answer
![Page 4: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/4.jpg)
CS 354 4
Last time, this time
Last lecture, we discussed Surfaces, programmable tessellation,
non-photorealistic graphics This lecture
Review for the final Course-Instructor survey
Last 10 minutes of class
Projects Project 4 on ray tracing on Piazza
Due Thursday May 3, 2012 (extended) As announced, no slip days Arrange your demo with TA for Friday, May 4
![Page 5: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/5.jpg)
CS 354 5
Grading
Testing 60% Daily quizzes 10%
3-4 questions, easy
Homework 10% Occasional, mostly
math questions Project 0’s simple
rendering considered homework
Exams 40% Mid-term 15% Final 25%
Software projects 40% Object loader GLSL Shading Motion capture
animation Ray Tracer
![Page 6: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/6.jpg)
CS 354 6
What will you learnWhat you should have learned
Fundamentals of computer graphics Transformations and viewing Rasterization and ray tracing Lighting and shading Graphics hardware technology Mathematics for computer graphics
Practical graphics programming OpenGL programming Shader programming Performance analysis
![Page 7: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/7.jpg)
CS 354 7
When and whereis the final exam?
Thursday, May 10, 2:00-5:00 pm Three hours Afternoon
Burdine 116 Same room as
weekly lecture
you are here
![Page 8: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/8.jpg)
CS 354 8
Exam Instructions & Policies
Open textbook Open notes, including lecture slides Calculators allowed/encouraged Prohibitions
No smart phones No computers No Internet access
Show your work to justify your answer and provide a basis for partial credit
Sit with an empty seat between each student
![Page 9: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/9.jpg)
CS 354 9
Final exam generalities
Cumulative Covers material in both halves of the course Revisit your mid-term & homework assignments Knowledge from projects Textbook readings 1/3 first half, 2/3 second half
Exam structure Math questions Concept questions
Some multiple choice, some fill-in-the-blank, some true-or-false
No essay questions; some “explain briefly” questions About 80% longer than mid-term
![Page 10: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/10.jpg)
CS 354 10
Final exam scope
Every lecture is covered by at least one exam question
Concepts developed in the projects is fair game
Variations of quiz questions, sometimes lifted exactly See Piazza for all the quiz answers
Search for #quiz
![Page 11: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/11.jpg)
CS 354 11
Bezier Curve Formulation
Given control points, specify parametric formula for Bezier curve Quadratic (3 control points)
P0*(1-t)2 + 2*P1*(1-t)*t + P2*t2
Cubic (4 control points) P0*(1-t)3 + P1*3*t*(1-t)2 + P2*3*t2*(1-t)+P3*t3
Be prepared to evaluate the Bezier curve for various values of “t”
![Page 12: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/12.jpg)
CS 354 12
Bezier Curves
Geometric intuition Given four cubic Bezier control points
P0, P1, P2, P3
What is the geometric interpretation of the vector from P0 to P1 and P2 to P3?
Be able to show these directions are the tangents of the curve at the end-points
Differentiate and evaluate at t=0 and t=1
![Page 13: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/13.jpg)
CS 354 13
Bezier CurvesDe Casteljau's algorithm
Given a cubic Bezier curve C(t) Defined by control points P0, P1, P2, P3 How to evaluate C(t) with De Casteljau’s approach?
Make new points with linear interpolation AB = lerp(P0,P1,t) BC = lerp(P1,P2,t) CD = lerp(P2,P3,t) ABC = lerp(AB,BC,t) BCD = lerp(BC,CD,t) ABCD = lerp(ABC,BCD,t) lerp(a,b,t) = a+t*(b-a) = (1-t)*a + t*b
ABCD evaluates to C(t)
![Page 14: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/14.jpg)
CS 354 14
De Casteljau's algorithmVisualized
![Page 15: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/15.jpg)
CS 354 15
Bezier Subdivision
Original Bezier curve C(t) can be split into two sub-curves C1(t) and C2(t)
Assuming C(t)’s control points are P0, P1, P2, P3
C1(t)’s control points are P0,AB,ABC,ABCD
C2(t)’s control points are ABCD,BCD,CD,P3
![Page 16: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/16.jpg)
CS 354 16
Bezier Surface Evaluation
Given bicubic Bezier path form Evaluate P(u,v) Also compute gradients dP/du and dP/dv Compute surface normal
Assume simple enough control points to make this tractable
![Page 17: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/17.jpg)
CS 354 17
Ray Tracing MathRay-Sphere Intersection
Given ray with origin O and direction D ray(t) = O + D*t
Given sphere at C with radius r and P is on the sphere (P-C)•(P-C)=r2
Compute the values of t where the ray intersects the sphere Involves solving the quadratic formula
Interpretation of the intersection What does zero solutions mean? What does two solutions mean? What does one solution mean? What do parametric values of t<0 mean?
Compute actual point(s) of intersection of ray and sphere
![Page 18: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/18.jpg)
CS 354 18
Ray Tracing MathRay-Sphere Shading
Given an intersection point on a sphere Determine the surface normal
Easy because normal N just normalized P-C Given lighting position L
Compute diffuse coefficient max(0,normalize(L-P)•N)
Why the max with zero? Given eye position E
Compute half-angle vector H=normalize(E-P+
![Page 19: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/19.jpg)
CS 354 19
Ray Types
Eye (or view) rays From eye to surfaces
Light (or shadow) rays Surface in shadow of light if ray obstructed Surface illuminated by light if ray unobstructed
Reflected rays Specular bounce
Refracted rays Ray travels through interface Be able to compute refracted vector given incoming
ray direction, surface normal, and index of refraction Be able to identify types of rays in a diagram
![Page 20: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/20.jpg)
CS 354 20
Rendering Equation
Be able to identify and briefly explain the constituent parts of the Rendering Equation
Explain two different forms What does each form integrate over?
Hemisphere of incoming directions at surface point All possible surface points in the scene
![Page 21: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/21.jpg)
CS 354 21
Rendering Equation
Theory for light-surface interactions
dtLtftLtL ireo )(),,,(),,,,(),,,(),,,( nxxxx
![Page 22: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/22.jpg)
CS 354 22
Rendering Equation Parts
Lo = outgoing light from x in direction ω x = point on a surface ω = normalized outgoing light vector λ = wavelength of light t = time Le = emitted light at x going towards from ω n = surface normal at x
dtLtftLtL ireo )(),,,(),,,,(),,,(),,,( nxxxx
![Page 23: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/23.jpg)
CS 354 23
Rendering Equation Integral
∫ = integrate over a region Ω = region of a hemisphere
Together: “integrate overall the incoming directions for a hemisphere at a point x”
ωˊ = normalized incoming light vector Li = incoming light at x coming from ωˊ n = surface normal at x (-ωˊ • n) = cosine of angle between incoming
light and surface normal dωˊ = differential of incoming angle
![Page 24: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/24.jpg)
CS 354 24
Bidirectional Reflectance Distribution Function
Ratio of differential outgoing (reflected) radiance to differential incoming irradiance
Physically based BRDF properties Must be non-negative Must be reciprocal
Swap incoming & relected directions generates same ratio Conserves energy
Integrating over entire hemisphere must be ≤ 1
dtdL
tdL
tdE
tdLtf
i
r
i
rr )(),,,(
),,,(
),,,(
),,,(),,,,(
nx
x
x
xx
L = radiance
E = irradiance
![Page 25: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/25.jpg)
CS 354 25
Cosine Weighting for Irradiance
At shallow angles, incoming light spreads over a wider area of the surface Thus spreading the energy Thus dimming the received light
![Page 26: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/26.jpg)
CS 354 26
o
Two Versions ofRendering Equation
dtLtf
tLtL
ir
e
o )(),,,(),,,,(
),,,(),,,( nxx
xx
yyxyx
xx
yx
y
yx dGtLtf
tLtL
r
e
o ),(),,,(),,,,(
),,,(),,,(
Integrate over hemisphere Integrate over all surface points
Occlusion (G) is zero
![Page 27: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/27.jpg)
CS 354 27
Global Illumination Terms
Be able to explain Irradiance vs. radiance Form factor
Percent of energy from patch A that reaches (is transferred to) patch B
Radiosity Caustics
Photon mapping can simulate these Why can’t normal ray tracing simulate these?
![Page 28: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/28.jpg)
CS 354 28
Typography
Typographic units Em, Pica, Point
Character encoding Unicode
How does Unicode relate to the 7-bit and 8-bit ASCII character sets?
Why is kerning done? Why font hinting? Why ClearType? Identify serif vs. non-serif type faces
![Page 29: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/29.jpg)
CS 354 29
Resolution-independent 2D
What is a path? What is a contour? How are curved segments indicated?
Quadratic and cubic Bezier curves + elliptical arcs
How do you know if a point is within a path? Non-zero rule, even-odd rule
How are paths shaded (painted?) Gradients, solid color, images
![Page 30: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/30.jpg)
CS 354 30
Blend Modes
Given f(Ac,Bc) and X, Y, Z parameters, build up a Porter-Duff blend equation
Evaluate that blend equation for a given source and destination RGBA value
![Page 31: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/31.jpg)
CS 354 31
Graphics Pipeline Stages
Know their order Mid-term asked to order stages Worth revisiting
![Page 32: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/32.jpg)
CS 354 32
Coordinate SpaceTransformations
Be able to recognize / specify the following coordinate space transformations Translate Rotate Scale (uniform, non-uniform) Orthographic view Perspective view
Be able to concatenate transformations Be able to transform normals and positions
by concatenated transformations
![Page 33: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/33.jpg)
CS 354 33
Edge Equation Setupfor Rasterization
Given three points in window space, generate the three edge equations Front facing or back facing?
Test if pixel locations are inside/outside the triangle
![Page 34: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/34.jpg)
CS 354 34
Plane Equation Setupfor Interpolation
Given window-space vertices for a triangle, be able to setup plane equation for interpolating Z
![Page 35: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/35.jpg)
CS 354 35
Mipmap Generation
Extend to 3D textures How many bytes would a 256x128x128
texture take up? Width, height, and depth dimensions half with
successively smaller mipmap levels
Be able to generate texels for a small mipmap pyramid Say 8x2
![Page 36: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/36.jpg)
CS 354 36
GLSL Shading Language
Be able to map implement simple GLSL standard library routines in GLSL as simple math operations and sqrt Example: length
sqrt(v.x*v.x+v.y*v.y+v.z*v.z) Others: dot, mul, normalize, reflect, refract,
distance, determinant Know the standard GLSL types
So you can not which types are not actual GLSL built-in types
![Page 37: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/37.jpg)
CS 354 37
Scene Graph
Be able to identify when a bounding box is trivially outside a view frustum Are all its vertices on the “wrong” side of a
view frustum clip plane? Then trivially culled
Briefly distinguish View frustum culling Occlusion culling Portal culling
![Page 38: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/38.jpg)
CS 354 38
Acceleration Structures
Name common acceleration structures Weight advantages and disadvantages
Explain ray traversal given a heirarchical acceleration structure
![Page 39: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/39.jpg)
CS 354 39
Shadows
Name dominant shadowing algorithms for interactive rendering Understand their artifacts and limitations Order the shadow algorithm steps properly
Given 2D diagrams, be able to tell if points are “inside” or “outside” a shadow volume
![Page 40: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/40.jpg)
CS 354 40
Color
Perform color space conversions RGB to YIQ
What is a color gamut?
![Page 41: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/41.jpg)
CS 354 41
Particle system
Given a particle with initial velocity shooting it upward and gravity, when will it hit the ground? Involves solving a quadratic equation
Algorithmic complexity of N particles mutually attracted by inverse square law (gravity) How could this be reduced?
![Page 42: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/42.jpg)
CS 354 42
Compression
Why does hardware’s DXTC/S3TC formats have a fixed compression ratio? What is the ratio?
Why is sampling chroma values at a lower frequency than luminance values a common compression technique?
![Page 43: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/43.jpg)
CS 354 43
Forces Driving Improvements in Computer Graphics
Human desire for VisualIntuition and Entertainment
Embarrassing
Parallelism ofGraphics
Increasing
Semiconductor
Density
Particularly thehardware-amenable,
latency tolerantnature of rasterization
Particularlyinteractive video games
ComputerGraphics
Moore’sLaw
![Page 44: CS 354 Final Exam Review](https://reader035.fdocuments.us/reader035/viewer/2022081412/540b620ddab5ca00638b7a2e/html5/thumbnails/44.jpg)
CS 354 44
Course-Instructor Survey
Instructor’s Name Mark Kilgard
Course Abbreviation and Number CS 354
Course Unique Number 53035
Semester and Year Spring 2012