SlideShare ist ein Scribd-Unternehmen logo
1 von 44
CS 354
Review for Final

Mark Kilgard
University of Texas
May 3, 2012
CS 354                                                 2



         Today’s material
        In-class quiz
            On surfaces & programmable tessellation
             lecture
        Lecture topic
            What to study for the final
CS 354                                                                            3

                                      On a sheet of paper
         Daily Quiz                   • Write your EID, name, and date
                                      • Write #1, #2, #3, #4 followed by its answer
  1.     How many control points
         specify a bi-cubic Bezier path?
                                                Multiple choice: Subdivision
                                                 surfaces repeatedly apply
                                                 these two steps

                                                 a) refinement & smoothing
  3.     How many control points
         specify a Bezier triangle patch?        b) divide & conquer

                                                 c) sort & merge

  4.     Programmable tessellation               d) push & pop
         relies on two programmable
         shader stages. What are the             e) push & pull
         names of these two stages?
         (Give either the OpenGL or
         Direct3D names.)
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
CS 354                                                               5



         Grading
        Testing 60%                        Software projects 40%
            Daily quizzes 10%                  Object loader
                 3-4 questions, easy           GLSL Shading
            Homework 10%                       Motion capture
                 Occasional, mostly             animation
                  math questions
                                                Ray Tracer
                 Project 0’s simple
                  rendering considered
                  homework
            Exams 40%
                 Mid-term 15%
                 Final 25%
CS 354                                           6

         What will you learn
         What 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
CS 354                                            7

         When and where
         is the final exam?
        Thursday, May 10, 2:00-5:00 pm
          Three hours
          Afternoon
        Burdine 116
            Same room as
             weekly lecture




                                   you are here
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
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
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
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”
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
CS 354                                                            13

         Bezier Curves
         De 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)
CS 354                              14

         De Casteljau's algorithm
         Visualized
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
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
CS 354                                                               17

         Ray Tracing Math
         Ray-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
CS 354                                                    18

         Ray Tracing Math
         Ray-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+
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
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
CS 354                                                                                                 21



         Rendering Equation
        Theory for light-surface interactions




 Lo (x, ω , λ , t ) = Le (x, ω , λ , t ) + ∫ f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′
                                          Ω
CS 354                                                                                                22



         Rendering Equation Parts
Lo (x, ω , λ , t ) = Le (x, ω , λ , t ) + ∫ f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′
                                         Ω



        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
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
CS 354                                                                                  24

         Bidirectional Reflectance
         Distribution Function
        Ratio of differential outgoing (reflected) radiance
         to differential incoming irradiance
                            dLr (x, ω , λ , t )          dLr (x, ω , λ , t )
 f r (x, ω ′, ω , λ , t ) =                     =
                            dEi (x, ω ′, λ , t ) dLi (x, ω ′, λ , t ) (−ω ′ • n) dω ′
        Physically based BRDF properties                          L = radiance
            Must be non-negative                                  E = irradiance
            Must be reciprocal
                 Swap incoming & relected directions generates same ratio
            Conserves energy
                 Integrating over entire hemisphere must be ≤ 1
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
CS 354                                                                                                                                                                     26

             Two Versions of
             Rendering Equation
                                                                                                                                      Occlusion (G) is zero




                                                                                                                                o




                                                Le (x, ω , λ , t ) +
                                                                                                                                         Le (x, ω , λ , t ) +
Lo (x, ω , λ , t ) =
                       ∫
                       Ω
                           f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′   Lo (x, ω , λ , t ) =
                                                                                                                 ∫     f r (x, ωyx , ω , λ , t ) L(y, ωyx , λ , t ) G (x, y ) dy
                                                                                                                 y∈Γ



           Integrate over hemisphere                                                                Integrate over all surface points
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?
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
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
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
CS 354                                      31



         Graphics Pipeline Stages
        Know their order
          Mid-term asked to order stages
          Worth revisiting
CS 354                                                    32

         Coordinate Space
         Transformations
        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
CS 354                                                    33

         Edge Equation Setup
         for 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
CS 354                                               34

         Plane Equation Setup
         for Interpolation
        Given window-space vertices for a
         triangle, be able to setup plane equation
         for interpolating Z
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
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
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
CS 354                                                38



         Acceleration Structures
        Name common acceleration structures
            Weight advantages and disadvantages
        Explain ray traversal given a heirarchical
         acceleration structure
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
CS 354                                     40



         Color
        Perform color space conversions
            RGB to YIQ
        What is a color gamut?
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?
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?
CS 354                                                                              43

         Forces Driving Improvements in
         Computer Graphics

          Em
         Pa barra                  Computer                              g
                                                                      sin tor
           ral                                                     ea
               leli ssing                                     I ncr nduc
          Gra sm                                                    o
             ph
                  ics of           Graphics                     mic nsity
                                                             Se De



        Particularly the                                                  Moore’s
     hardware-amenable,                                                   Law
        latency tolerant
     nature of rasterization

                                 Human desire for Visual
                               Intuition and Entertainment
                                                              Particularly
                                                              interactive video games
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

Weitere ähnliche Inhalte

Was ist angesagt?

CS 354 Acceleration Structures
CS 354 Acceleration StructuresCS 354 Acceleration Structures
CS 354 Acceleration StructuresMark Kilgard
 
CS 354 Shadows (cont'd) and Scene Graphs
CS 354 Shadows (cont'd) and Scene GraphsCS 354 Shadows (cont'd) and Scene Graphs
CS 354 Shadows (cont'd) and Scene GraphsMark Kilgard
 
CS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasingCS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasingMark Kilgard
 
CS 354 Programmable Shading
CS 354 Programmable ShadingCS 354 Programmable Shading
CS 354 Programmable ShadingMark Kilgard
 
CS 354 Understanding Color
CS 354 Understanding ColorCS 354 Understanding Color
CS 354 Understanding ColorMark Kilgard
 
CS 354 Pixel Updating
CS 354 Pixel UpdatingCS 354 Pixel Updating
CS 354 Pixel UpdatingMark Kilgard
 
CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture MappingMark Kilgard
 
CS 354 Global Illumination
CS 354 Global IlluminationCS 354 Global Illumination
CS 354 Global IlluminationMark Kilgard
 
CS 354 Graphics Math
CS 354 Graphics MathCS 354 Graphics Math
CS 354 Graphics MathMark Kilgard
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingMark Kilgard
 
CS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationCS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationMark Kilgard
 
CS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path RenderingCS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path RenderingMark Kilgard
 
CS 354 GPU Architecture
CS 354 GPU ArchitectureCS 354 GPU Architecture
CS 354 GPU ArchitectureMark Kilgard
 
CS 354 Viewing Stuff
CS 354 Viewing StuffCS 354 Viewing Stuff
CS 354 Viewing StuffMark Kilgard
 
CS 354 Introduction
CS 354 IntroductionCS 354 Introduction
CS 354 IntroductionMark Kilgard
 
Shadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics HardwareShadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics Hardwarestefan_b
 
Geometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping SetupGeometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping SetupMark Kilgard
 
ECCV2010: feature learning for image classification, part 2
ECCV2010: feature learning for image classification, part 2ECCV2010: feature learning for image classification, part 2
ECCV2010: feature learning for image classification, part 2zukun
 

Was ist angesagt? (20)

CS 354 Acceleration Structures
CS 354 Acceleration StructuresCS 354 Acceleration Structures
CS 354 Acceleration Structures
 
CS 354 Shadows (cont'd) and Scene Graphs
CS 354 Shadows (cont'd) and Scene GraphsCS 354 Shadows (cont'd) and Scene Graphs
CS 354 Shadows (cont'd) and Scene Graphs
 
CS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasingCS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasing
 
CS 354 Programmable Shading
CS 354 Programmable ShadingCS 354 Programmable Shading
CS 354 Programmable Shading
 
CS 354 Understanding Color
CS 354 Understanding ColorCS 354 Understanding Color
CS 354 Understanding Color
 
CS 354 Pixel Updating
CS 354 Pixel UpdatingCS 354 Pixel Updating
CS 354 Pixel Updating
 
CS 354 Shadows
CS 354 ShadowsCS 354 Shadows
CS 354 Shadows
 
CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture Mapping
 
CS 354 Global Illumination
CS 354 Global IlluminationCS 354 Global Illumination
CS 354 Global Illumination
 
CS 354 Graphics Math
CS 354 Graphics MathCS 354 Graphics Math
CS 354 Graphics Math
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and Culling
 
CS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationCS 354 Object Viewing and Representation
CS 354 Object Viewing and Representation
 
CS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path RenderingCS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path Rendering
 
CS 354 GPU Architecture
CS 354 GPU ArchitectureCS 354 GPU Architecture
CS 354 GPU Architecture
 
CS 354 Viewing Stuff
CS 354 Viewing StuffCS 354 Viewing Stuff
CS 354 Viewing Stuff
 
CS 354 Lighting
CS 354 LightingCS 354 Lighting
CS 354 Lighting
 
CS 354 Introduction
CS 354 IntroductionCS 354 Introduction
CS 354 Introduction
 
Shadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics HardwareShadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics Hardware
 
Geometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping SetupGeometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping Setup
 
ECCV2010: feature learning for image classification, part 2
ECCV2010: feature learning for image classification, part 2ECCV2010: feature learning for image classification, part 2
ECCV2010: feature learning for image classification, part 2
 

Ähnlich wie CS 354 Final Exam Review

NTUT Information Security Homework 1
NTUT Information Security Homework 1 NTUT Information Security Homework 1
NTUT Information Security Homework 1 dennysora
 
CS-102 DS-class_01_02 Lectures Data .pdf
CS-102 DS-class_01_02 Lectures Data .pdfCS-102 DS-class_01_02 Lectures Data .pdf
CS-102 DS-class_01_02 Lectures Data .pdfssuser034ce1
 
Itc lec5-24+sep+2012
Itc lec5-24+sep+2012Itc lec5-24+sep+2012
Itc lec5-24+sep+2012Rehan Qadri
 
CS 354 Bezier Curves
CS 354 Bezier Curves CS 354 Bezier Curves
CS 354 Bezier Curves Mark Kilgard
 
computer science sample papers 3
computer science sample papers 3computer science sample papers 3
computer science sample papers 3Swarup Kumar Boro
 
815.07 machine learning using python.pdf
815.07 machine learning using python.pdf815.07 machine learning using python.pdf
815.07 machine learning using python.pdfSairaAtta5
 
Logic
LogicLogic
LogicHamxi
 
Logic circuits and design PART 1.pptx
Logic circuits and design PART 1.pptxLogic circuits and design PART 1.pptx
Logic circuits and design PART 1.pptxOrlyLisondra1
 
Online Character Recognition
Online Character RecognitionOnline Character Recognition
Online Character RecognitionKamakhya Gupta
 
Expert estimation from Multimodal Features
Expert estimation from Multimodal FeaturesExpert estimation from Multimodal Features
Expert estimation from Multimodal FeaturesXavier Ochoa
 
Sample test paper JEE mains 2013
Sample test paper JEE mains 2013Sample test paper JEE mains 2013
Sample test paper JEE mains 2013APEX INSTITUTE
 
DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..KarthikeyaLanka1
 

Ähnlich wie CS 354 Final Exam Review (20)

3rd Semester Computer Science and Engineering (ACU) Question papers
3rd Semester Computer Science and Engineering  (ACU) Question papers3rd Semester Computer Science and Engineering  (ACU) Question papers
3rd Semester Computer Science and Engineering (ACU) Question papers
 
3rd Semester Computer Science and Engineering (ACU) Question papers
3rd Semester Computer Science and Engineering  (ACU) Question papers3rd Semester Computer Science and Engineering  (ACU) Question papers
3rd Semester Computer Science and Engineering (ACU) Question papers
 
NTUT Information Security Homework 1
NTUT Information Security Homework 1 NTUT Information Security Homework 1
NTUT Information Security Homework 1
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 
CS-102 DS-class_01_02 Lectures Data .pdf
CS-102 DS-class_01_02 Lectures Data .pdfCS-102 DS-class_01_02 Lectures Data .pdf
CS-102 DS-class_01_02 Lectures Data .pdf
 
Itc lec5-24+sep+2012
Itc lec5-24+sep+2012Itc lec5-24+sep+2012
Itc lec5-24+sep+2012
 
3rd Semester Computer Science and Engineering (ACU-2022) Question papers
3rd Semester Computer Science and Engineering  (ACU-2022) Question papers3rd Semester Computer Science and Engineering  (ACU-2022) Question papers
3rd Semester Computer Science and Engineering (ACU-2022) Question papers
 
CS 354 Bezier Curves
CS 354 Bezier Curves CS 354 Bezier Curves
CS 354 Bezier Curves
 
computer science sample papers 3
computer science sample papers 3computer science sample papers 3
computer science sample papers 3
 
815.07 machine learning using python.pdf
815.07 machine learning using python.pdf815.07 machine learning using python.pdf
815.07 machine learning using python.pdf
 
Logic
LogicLogic
Logic
 
testpang
testpangtestpang
testpang
 
Logic circuits and design PART 1.pptx
Logic circuits and design PART 1.pptxLogic circuits and design PART 1.pptx
Logic circuits and design PART 1.pptx
 
nlp2.pdf
nlp2.pdfnlp2.pdf
nlp2.pdf
 
Online Character Recognition
Online Character RecognitionOnline Character Recognition
Online Character Recognition
 
Lecture2-DT.pptx
Lecture2-DT.pptxLecture2-DT.pptx
Lecture2-DT.pptx
 
Expert estimation from Multimodal Features
Expert estimation from Multimodal FeaturesExpert estimation from Multimodal Features
Expert estimation from Multimodal Features
 
Sample test paper JEE mains 2013
Sample test paper JEE mains 2013Sample test paper JEE mains 2013
Sample test paper JEE mains 2013
 
Dp idp exploredb
Dp idp exploredbDp idp exploredb
Dp idp exploredb
 
DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..
 

Mehr von Mark Kilgard

D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...Mark Kilgard
 
Computers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School StudentsComputers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School StudentsMark Kilgard
 
NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017Mark Kilgard
 
NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017Mark Kilgard
 
NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016Mark Kilgard
 
Virtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUsVirtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUsMark Kilgard
 
Migrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMigrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMark Kilgard
 
EXT_window_rectangles
EXT_window_rectanglesEXT_window_rectangles
EXT_window_rectanglesMark Kilgard
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Mark Kilgard
 
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineAccelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineMark Kilgard
 
NV_path rendering Functional Improvements
NV_path rendering Functional ImprovementsNV_path rendering Functional Improvements
NV_path rendering Functional ImprovementsMark Kilgard
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsMark Kilgard
 
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingSIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingMark Kilgard
 
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondSIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondMark Kilgard
 
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...Mark Kilgard
 
GPU accelerated path rendering fastforward
GPU accelerated path rendering fastforwardGPU accelerated path rendering fastforward
GPU accelerated path rendering fastforwardMark Kilgard
 
GPU-accelerated Path Rendering
GPU-accelerated Path RenderingGPU-accelerated Path Rendering
GPU-accelerated Path RenderingMark Kilgard
 
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingSIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingMark Kilgard
 
SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012Mark Kilgard
 

Mehr von Mark Kilgard (20)

D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...
 
Computers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School StudentsComputers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School Students
 
NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017
 
NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017
 
NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016
 
Virtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUsVirtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUs
 
Migrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMigrating from OpenGL to Vulkan
Migrating from OpenGL to Vulkan
 
EXT_window_rectangles
EXT_window_rectanglesEXT_window_rectangles
EXT_window_rectangles
 
OpenGL for 2015
OpenGL for 2015OpenGL for 2015
OpenGL for 2015
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
 
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineAccelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
 
NV_path rendering Functional Improvements
NV_path rendering Functional ImprovementsNV_path rendering Functional Improvements
NV_path rendering Functional Improvements
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUs
 
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingSIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
 
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondSIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
 
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
 
GPU accelerated path rendering fastforward
GPU accelerated path rendering fastforwardGPU accelerated path rendering fastforward
GPU accelerated path rendering fastforward
 
GPU-accelerated Path Rendering
GPU-accelerated Path RenderingGPU-accelerated Path Rendering
GPU-accelerated Path Rendering
 
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingSIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
 
SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Kürzlich hochgeladen (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

CS 354 Final Exam Review

  • 1. CS 354 Review for Final Mark Kilgard University of Texas May 3, 2012
  • 2. CS 354 2 Today’s material  In-class quiz  On surfaces & programmable tessellation lecture  Lecture topic  What to study for the final
  • 3. CS 354 3 On a sheet of paper Daily Quiz • Write your EID, name, and date • Write #1, #2, #3, #4 followed by its answer 1. How many control points specify a bi-cubic Bezier path?  Multiple choice: Subdivision surfaces repeatedly apply these two steps a) refinement & smoothing 3. How many control points specify a Bezier triangle patch? b) divide & conquer c) sort & merge 4. Programmable tessellation d) push & pop relies on two programmable shader stages. What are the e) push & pull names of these two stages? (Give either the OpenGL or Direct3D names.)
  • 4. 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
  • 5. CS 354 5 Grading  Testing 60%  Software projects 40%  Daily quizzes 10%  Object loader  3-4 questions, easy  GLSL Shading  Homework 10%  Motion capture  Occasional, mostly animation math questions  Ray Tracer  Project 0’s simple rendering considered homework  Exams 40%  Mid-term 15%  Final 25%
  • 6. CS 354 6 What will you learn What 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
  • 7. CS 354 7 When and where is the final exam?  Thursday, May 10, 2:00-5:00 pm  Three hours  Afternoon  Burdine 116  Same room as weekly lecture you are here
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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”
  • 12. 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
  • 13. CS 354 13 Bezier Curves De 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)
  • 14. CS 354 14 De Casteljau's algorithm Visualized
  • 15. 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
  • 16. 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
  • 17. CS 354 17 Ray Tracing Math Ray-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
  • 18. CS 354 18 Ray Tracing Math Ray-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+
  • 19. 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
  • 20. 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
  • 21. CS 354 21 Rendering Equation  Theory for light-surface interactions Lo (x, ω , λ , t ) = Le (x, ω , λ , t ) + ∫ f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′ Ω
  • 22. CS 354 22 Rendering Equation Parts Lo (x, ω , λ , t ) = Le (x, ω , λ , t ) + ∫ f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′ Ω  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
  • 23. 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
  • 24. CS 354 24 Bidirectional Reflectance Distribution Function  Ratio of differential outgoing (reflected) radiance to differential incoming irradiance dLr (x, ω , λ , t ) dLr (x, ω , λ , t ) f r (x, ω ′, ω , λ , t ) = = dEi (x, ω ′, λ , t ) dLi (x, ω ′, λ , t ) (−ω ′ • n) dω ′  Physically based BRDF properties L = radiance  Must be non-negative E = irradiance  Must be reciprocal  Swap incoming & relected directions generates same ratio  Conserves energy  Integrating over entire hemisphere must be ≤ 1
  • 25. 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
  • 26. CS 354 26 Two Versions of Rendering Equation Occlusion (G) is zero o Le (x, ω , λ , t ) + Le (x, ω , λ , t ) + Lo (x, ω , λ , t ) = ∫ Ω f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′ Lo (x, ω , λ , t ) = ∫ f r (x, ωyx , ω , λ , t ) L(y, ωyx , λ , t ) G (x, y ) dy y∈Γ Integrate over hemisphere Integrate over all surface points
  • 27. 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?
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. CS 354 31 Graphics Pipeline Stages  Know their order  Mid-term asked to order stages  Worth revisiting
  • 32. CS 354 32 Coordinate Space Transformations  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
  • 33. CS 354 33 Edge Equation Setup for 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
  • 34. CS 354 34 Plane Equation Setup for Interpolation  Given window-space vertices for a triangle, be able to setup plane equation for interpolating Z
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. CS 354 38 Acceleration Structures  Name common acceleration structures  Weight advantages and disadvantages  Explain ray traversal given a heirarchical acceleration structure
  • 39. 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
  • 40. CS 354 40 Color  Perform color space conversions  RGB to YIQ  What is a color gamut?
  • 41. 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?
  • 42. 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?
  • 43. CS 354 43 Forces Driving Improvements in Computer Graphics Em Pa barra Computer g sin tor ral ea leli ssing I ncr nduc Gra sm o ph ics of Graphics mic nsity Se De Particularly the Moore’s hardware-amenable, Law latency tolerant nature of rasterization Human desire for Visual Intuition and Entertainment Particularly interactive video games
  • 44. 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