Transcript PowerPoint
CS 551/645 Introduction to Computer Graphics Fall 2000 Reminders • Evaluate this class by following link from main SEAS web site • Participate with UVa student chapter of ACM (Association for Computing Machinery) by attending tonight’s elections after class (6:00) in Olsson’s Basement • CS Department is seeking undergraduate TA’s: Check News ox on the CS page or: – http://www.cs.virginia.edu/jobs/form-all.html Reminders • • • • Colloquium speaker, Jessica Hodgins Carnegie Mellon University Animating with Simulation Olsson 009 at 3:30 on Wednesday Final Exam • Open Book (your choice of text) • One page notes (both sides) • Material will come from entire semester – Assignments are fair game – No OpenGL or RenderMan questions • 3 hours • MEC 339 at 7:00 on Monday – Check your emails on Monday just in case there is a problem with scheduling the room Topics Since Midterm • • • • • • • • Antialiasing Texture Maps Visibility Culling Cells and Portals Quaternions and Curves Parametric Surfaces Hollywood Movies Animation What’s Different About an Open Book Test? • The questions require more thought – I’ll not to write simple questions that demonstrate mastery of index usage • For example, the kind of thought that you put into developing your programs • Combining techniques in novel ways • You want to be comfortable with the vocabulary and the quantitative techniques Coordinate Systems • Right- versus left-handed coordinate systems, two techniques to visualize – Use your thumb and index and middle fingers to for the x-, y-, and z- axes respectively. Arrange them at right angles and they form the coordinate system. – Align your thumb along one axis (say x). As you curl your hand around the x-axis in the direction of your fingertips, you are rotating from the y-axis to the z-axis. • Note, the difference between the two: – Position of z-axis – Positive rotation about axis is CCW in RHS – Positive rotation about axis is CW in LFS Coordinate Systems • Cross product definition: – X x Y = Z in RHS – Remember, you are doing it correctly if: • You point your thumb along orthogonal vector and you can curl your hand from first vector towards second vector (with along the shortest path between them) – See: • http://www.phy.syr.edu/courses/video/RightHandRu le/index2.html Confused about OpenGL vs. RenderMan? • OpenGL is right-handed • RenderMan is left-handed • But… – OpenGL default camera points along negative z-axis – RenderMan default camera points along positive z-axis • Think some more about how to convert between the two coordinate systems Intersections Between Geometry • How do you compute line-plane intersection? • How do you compute the shortest distance between a point and a plane? • How do you compute the intersection of a line with a sphere? Aliasing • How are supersampling and mip-mapping related? • What are the tradeoffs of the different convolution filters (box, gauss, triangle)? • How can you reduce aliasing artifacts during ray tracing? Texture Maps • How do you lay a texture along a bicubic patch? What do you pick for the texture coordinates? • How do you arrange six images into a cubic environment map? Lighting • Ray tracing vs. radiosity. – How can we take the best of both? – Render with radiosity first and then a second time with raytracing? • Compute intersections, reflections, and color interpolations for ray tracing Visibility Culling • Generate a quad tree for an image • Provide examples for z-compression and the errors the finite resolution causes Quaternions and Curves • Formulating an axis-angle • Convert from Axis-angle to Quaternion • Interpolation of angles using different representations • Approximating vs. Interpolating splines • Ease of use regarding continuity • Rendering curve segments Surfaces • Explain why lighting surfaces more accurate than polygons • How does phong shading compare to a more accurate surface representation? Movies • What are challenges to when mixing CG with live action? – Matchmoving – Compositing – Lighting Animation • Compare and contrast – Keyframing – MoCap – Simulation/Procedural • How can we combine these to get the best of all worlds?