University of British Columbia Final Final Emphasis Sample Final CPSC 314 Computer Graphics • exam notes • covers entire course • post-midterm topics: • solutions now posted Jan-Apr 2013 • Spring 06-07 (label was off by one) • includes material from • lighting/shading • exam will be timed for 2.5 hours, but reserve • note some material not covered this time before midterm • advanced rendering Tamara Munzner entire 3-hour block of time just in case • projection types like cavalier/cabinet • transformations, • collision • closed book, closed notes • Q1b, Q1c, viewing/picking • rasterization • except for 2-sided 8.5”x11” sheet of • antialiasing • but heavier weighting • hidden surfaces / • Q1d, Q1l, Q12 Final Review handwritten notes for material after last blending • animation midterm • ok to staple midterm sheet + new one back to • textures/procedural • image-based rendering back • clipping • Q1g http://www.ugrad.cs.ubc.ca/~cs314/Vjan2013 • calculator: a good idea, but not required • scientific visualization • color • graphical OK, smartphones etc not ok • Q14 • curves • IDs out and face up 2 • visualization 3 4 Studying Advice Reading from OpenGL Red Book Reading from Shirley: Foundations of CG • do problems! • 1: Introduction to OpenGL • 1: Intro * • 11: Texture Mapping * • 2: Misc Math * • 13: More Ray Tracing * • 2: State Management and Drawing Geometric Objects • work through old homeworks, exams • 3: Raster Algs * • only 13.1 • 3: Viewing • through 3.3 • 12: Data Structures * • 4: Display Lists • 4: Ray Tracing * • only 12.2-12.4 • 5: Color • 5: Linear Algebra * • 15: Curves and Surfaces * Review – Fast!! • except for 5.4 • 6: Lighting • 17: Computer Animation * • 6: Transforms * • only 17.6-17.7 • 9: Texture Mapping • except 6.1.6 • 21: Color * • 12: Selection and Feedback • 7: Viewing * • 22: Visual Perception * • 13: Now That You Know • 8: Graphics Pipeline * • only 22.2.2 and 22.2.4 • only section Object Selection Using the Back Buffer • 8.1 through 8.1.6, 8.2.3-8.2.5, • 27: Visualization * 8.2.7, 8.4 • Appendix: Basics of GLUT (Aux in v 1.1) • 10: Surface Shading * • Appendix: Homogeneous Coordinates and Transformation Matrices 5 6 7 8 Review: Rendering Capabilities Review: Rendering Pipeline Review: OpenGL Review: Event-Driven Programming • pipeline processing, set state as needed • main loop not under your control void display() • vs. procedural Geometry Model/View Perspective { Lighting Clipping Database Transform. Transform. glClearColor(0.0, 0.0, 0.0, 0.0); • control flow through event callbacks glClear(GL_COLOR_BUFFER_BIT); • redraw the window now glColor3f(0.0, 1.0, 0.0); glBegin(GL_POLYGON); • key was pressed Frame- glVertex3f(0.25, 0.25, -0.5); Scan Depth Texturing Blending • mouse moved Conversion buffer Test glVertex3f(0.75, 0.25, -0.5); glVertex3f(0.75, 0.75, -0.5); • callback functions called from main loop glVertex3f(0.25, 0.75, -0.5); when events occur glEnd(); glFlush(); • mouse/keyboard state setting vs. redrawing } www.siggraph.org/education/materials/HyperGraph/shutbug.htm 9 10 11 12 Review: 2D Rotation: Another Derivation Review: 2D Rotation Review: 2D Rotation From Trig Identities Review: Shear, Reflection x ′ = x cos ( θ ) - y sin ( θ ) • shear along x axis x = r cos ( φ ) x ' x cos y sin (x ′ , y ′ ) y ′ = x sin ( θ ) + y cos ( θ ) = � � � • push points to right in proportion to height (x ′ ,y ′ ) y = r sin ( φ ) y ' x sin y cos = � + � x ' cos ( ) sin ( ) x � � � � � � � � � x ′ = r cos ( φ + θ ) ' y y x B = � � � � � � y ' sin ( ) cos ( ) y � � y ′ = r sin ( φ + θ ) � � � � � � (x ′ , y ′ ) x 1 sh x 0 � � � � � � � � � x (x, y) = + x x x � � � � � � � � y 0 1 y 0 � � � � � � � � � Trig Identity… x ' = A � B (x, y) x ′ = r cos( φ ) cos( θ ) – r sin( φ ) sin( θ ) (x,y) A = x cos � y ′ = r sin( φ ) cos( θ ) + r cos( φ ) sin( θ ) • reflect across x axis θ counterclockwise, RHS θ • mirror θ Substitute… x A φ x ′ = x cos ( θ ) - y sin ( θ ) x 1 0 x 0 � � � � � � � � � y ′ = x sin ( θ ) + y cos ( θ ) = + � � � � � � � � y � 0 1 y 0 � � � � � � � � � x x 13 14 15 16
Recommend
More recommend