University of British Columbia Outline What is Computer Graphics? What is CG used for? CPSC 314 Computer Graphics • Defining Computer Graphics • create or manipulate images with computer • movies Jan-Apr 2008 • Course Structure • this course: algorithms for image generation • animation Tamara Munzner • Course Content Overview • special effects Intro (Guest Lecturer: Michiel van de Panne) Week 1, Mon Jan 7 http://www.ugrad.cs.ubc.ca/~cs314/Vjan2008 2 3 4 What is CG used for? What is CG used for? What is CG used for? What is CG used for? • computer games • images • virtual reality / immersive displays • graphical user interfaces • design • modeling systems • advertising • applications • art • simulation & visualization 5 6 7 8 Real or CG? Real or CG? Real or CG? Real or CG? http://www.alias.com/eng/etc/fakeorfoto/quiz.html 1 1 2 2 3 3 4 4 9 10 11 12 Expectations Course Structure Programming Projects Late Work • 39% programming projects • structure • hard course! • 3 grace days • C++, Linux • 8% project 1 (building beasties with cubes and math) • for unforeseen circumstances • heavy programming and heavy math • OK to cross-platform develop on Windows, Mac • 8% project 2 (flying) • strong recommendation: don’t use early in term • fun course! • OpenGL graphics library • 8% project 3 (ray tracer) • handing in late uses up automatically unless you tell us • graphics programming addictive, create great demos • GLUT for platform-independent windows/UI • 15% project 4 (create your own graphics game) • otherwise: 50% if one day (24 hrs) late, 0% afterwards • programming prereq • face to face grading in lab • only exception: severe illness or crisis • 25% final • Hall of Fame • CPSC 221 (Program Design and Data Structures) • as per UBC rules • 20% midterm (week 8 Fri 3/7) • first project: building beasties • course language is C++/C • must let me know ASAP (in person or email) • 16% written assignments • previous years: spiders, armadillos, giraffes, frogs, • math prereq • at latest, 7 days after return to school elephants, birds, poodles, dinos, cats… • 4% each HW 1/2/3/4 • MATH 200 (Calculus III) • must also turn in form with documentation (doctor note) • last project: create your own graphics game • programming projects and homeworks synchronized http://www.ugrad.cs.ubc.ca/~cs314/Vjan2007/illness.html • MATH 221/223 (Matrix Algebra/Linear Algebra) 13 14 15 16
Regrading Course Information Teaching Staff Labs • to request assignment or exam regrade • course web page is main resource • instructor: Tamara Munzner • attend one lab per week • tmm@cs.ubc.ca • give me paper to be regraded, and also in writing • Mon 12-1, Thu 10-11 (Stephen Ingram) • http://www.ugrad.cs.ubc.ca/~cs314/Vjan2008 • office hrs in ICICS/CS 011 (our lab) • what problem you're disputing • Tue 1-2, Fri 12-1 (Cody Robson) • updated often, reload frequently • Wed/Fri 2-3 • detailed explanation why you think grader was wrong • mix of activities • newsgroup is ubc.courses.cpsc.414 • or by appointment in X661 • I will not accept until next class after solutions • example problems in spirit of written • TAs: Stephen Ingram, Cody Robson, Michael handed out • note old course number still used assignments and exams Welsman-Dinelle • I may regrade entire assignment • readable on or off campus • help with programming projects • sfingram@cs.ubc.ca • thus even if I agree with your original request, your • (no WebCT) • tutorials • cjrobson@cs.ubc.ca score may nevertheless end up higher or lower • no deliverables (unlike intro classes) • mwelsman@cs.ubc.ca • use newsgroup, not email, for all questions that • strongly recommend that you attend other students might care about 17 18 19 20 Required Reading Learning OpenGL Plagiarism and Cheating Citation • this is a graphics course using OpenGL • don’t cheat, I will prosecute • cite all sources of information • insult to your fellow students and to me • Fundamentals of Computer Graphics • not a course *on* OpenGL • what to cite • programming and assignment writeups must be • Peter Shirley, AK Peters, 2nd edition • study group members, books, web sites • upper-level class: learning APIs mostly on individual work your own • where to cite it • can discuss ideas, browse Web • OpenGL Programming Guide, v 2.1 • cannot just copy code or answers • README for programming projects • only minimal lecture coverage • OpenGL Architecture Review Board • cannot do team coding • end of writeup for written assignments • basics, some of the tricky bits • exception: final project can be team of two or three • v 1.1 available for free online http://www.ugrad.cs.ubc.ca/~cs314/Vjan2008/policies.html#plag • OpenGL Red Book • • you must be able to explain algorithms during face-to- • many tutorial sites on the web face demo • readings posted on schedule page • or no credit for that part of assignment • nehe.gamedev.net • and possibly prosecution 21 22 23 24 This Course Other Graphics Courses Rendering • we cover • CPSC 424: Geometric Modeling • creating images from models • offered next year basic algorithms for • geometric objects • • CPSC 426: Computer Animation • rendering – displaying models • lines, polygons, curves, curved surfaces • offered this term Course Content Overview • (modeling – generating models) • camera • (animation – generating motion) • pinhole camera, lens systems, orthogonal • CPSC 514: Image-based Modeling and Rendering programming in OpenGL, C++ • shading • • CPSC 526: Computer Animation • we do not cover • light interacting with material • CPSC 533A: Digital Geometry • illustration of rendering capabilities art/design issues • • CPSC 533B: Animation Physics commercial software packages • Shutterbug series by Williams and Siegel using • • CPSC 533C: Information Visualization Pixar's Renderman • CPSC 530P: Sensorimotor Computation www.siggraph.org/education/ materials/HyperGraph/shutbug.htm • 25 26 27 28 Perspective Projection Depth Cueing Modelling Transformation: Object Placement Viewing Transformation: Camera Placement 29 30 31 32
Depth Clipping Colored Wireframes Hidden Line Removal Hidden Surface Removal 33 34 35 36 Per-Polygon Shading Gouraud Shading Specular Reflection Phong Shading 37 38 39 40 Curved Surfaces Complex Lighting and Shading Texture Mapping Displacement Mapping 41 42 43 44 Reflection Mapping Modelling Animation Readings • generating models • generating motion • today • lines, curves, polygons, smooth surfaces • interpolating between frames, states • FCG Chap 1 • digital geometry • Wed • FCG Chap 2 • except 2.5.1, 2.5.3, 2.7.1, 2.7.3, 2.8, 2.9, 2.11. • FCG Chap 5.1-5.2.5 • except 5.2.3, 5.2.4 http://www.cs.ubc.ca/~van/papers/doodle.html 45 46 47 48
Recommend
More recommend