COMP 175 | COMPUTER GRAPHICS Lecture 01: Introduction COMP 175: Computer Graphics January 21, 2016 Remco Chang 01 - Introduction 1/26 COMP 175 | COMPUTER GRAPHICS People Instructor: Remco Chang remco@cs.tufts.edu Office: Halligan 221 Hours: ?? Remco Chang Grad TA: Mike Shah Office: ?? Hours: ?? TA: Jake Mingolla TA: Kabir Singh Office: ?? Hours: ?? Office: ?? Hours: ?? 01 - Introduction 2/26 COMP 175 | COMPUTER GRAPHICS Clarification! Meeting Time: • • • Quick Poll: • • • • • • • • Tuesday, Thursday from 1:30-2:45 H+ Block Laptops? Operating Systems? C++ proficiency? Linear Algebra? People who took 150VIZ? Gamers? Access to Piazza? Remco Chang 01 - Introduction 3/26 COMP 175 | COMPUTER GRAPHICS Clarification! • Prerequisites • COMP 40 • • • • Machine Structure and Assembly-Language Programming Implies: COMP 15 (Data Structures) Implies: proficiency with C++ and memory management Linear Algebra • Remco Chang Vector and Matrix math 01 - Introduction 4/26 COMP 175 | COMPUTER GRAPHICS Clarification Questions? • Conflicts with schedule? • • Come talk to me Don’t have the prereqs? • • Don’t panic… Remco Chang 01 - Introduction 5/26 COMP 175 | COMPUTER GRAPHICS What is Graphics? 3D world map to 2D How to do it? Remco Chang 01 - Introduction 6/26 COMP 175 | COMPUTER GRAPHICS What is Graphics? 3D world map to 2D How to do it? Geometry transform Per-pixel operation Remco Chang 01 - Introduction 7/26 COMP 175 | COMPUTER GRAPHICS What is Graphics? Geometry View Parallel Perspective Complex scene Putting pixels on a 2D canvas Putting (pretty) pixels on a 2D canvas Remco Chang 01 - Introduction 8/26 COMP 175 | COMPUTER GRAPHICS What is Graphics? 3D world map to 2D How to do it? Fixed pipeline Programmable pipeline Going from fix pipeline into programmable pipeline Remco Chang 01 - Introduction 9/26 COMP 175 | COMPUTER GRAPHICS What Does your Graphics Card Do? Why expensive graphics cards? Why are they fast (at graphics)? Are they good at anything else? Example for parallelizable vs. serial-only algorithms Let’s try sorting… Remco Chang 01 - Introduction 10/26 COMP 175 | COMPUTER GRAPHICS New “Twist” on Graphics Traditionally 3D graphics is for entertainment purposes (games, movies, special effects, etc.) Now techniques used in 3D graphics are become more commonly used for both 2D and 3D rendering It’s becoming a part of HTML 5 (through WebGL) Mostly to utilize graphics cards http://www.nytimes.com/interactive/2015/01/09/sports/thedawn-wall-el-capitan.html http://www.je-construis-la-tour-eiffel.com/ http://www.senchalabs.org/philogl/ A new tool for designing rich and interactive web pages Remco Chang 01 - Introduction 11/26 COMP 175 | COMPUTER GRAPHICS Spirit of this class Creativity, Creativity, Creativity We will teach you the tools, the rest is up to you! Example: what is the most popular PC game of all time? https://en.wikipedia.org/wiki/List_of_best-selling_PC_games There are 3 ways to impress me: Do something cool in your (visual | graphics) design Do something cool in your (interaction) design Do something cool in your (code | optimization) design Remco Chang 01 - Introduction 12/26 COMP 175 | COMPUTER GRAPHICS General Information Course website: http://www.cs.tufts.edu/comp/175 Assignments Labs Syllabus Support Code Textbooks Grading Accommodation Remco Chang 01 - Introduction 13/26 COMP 175 | COMPUTER GRAPHICS Grading Assignments (2% + 10% each): Final Project Labs (10) 1. Shapes 2. Camera 3. SceneView 4. Modeler 5. Ray Tracer 15% 25% (2.5% each) Note: Lab 0 is not for grade Total 12% 12% 12% 12% 12% 100% Note: your final grade will not be curved Remco Chang 01 - Introduction 14/26 COMP 175 | COMPUTER GRAPHICS Teams and Outside Help Paired Programming Work in a team of two Labs: Assignments: Same partner for the first 3 assignments Another partner for the last 2 assignments Final Project Random partners for the first 5 labs Chosen *NEW* partner for the last 5 labs No restrictions on the partners, but work in teams of 2. Online Resources There are lots of resources online Use them for understanding, but again, you must turn in your own work! Remco Chang 01 - Introduction 15/26 COMP 175 | COMPUTER GRAPHICS In Class Labs 10 Labs total Should be doable within a couple of hours… If not, you have 1 week to complete it Remco Chang 01 - Introduction 16/26 COMP 175 | COMPUTER GRAPHICS Take-Home Assignments There are 5 Assignments You have 2 weeks to complete each one Except for the Spring Break week An algorithm sheet needs to be submitted after 1 week All assignments (including algorithm worksheets) are due on Mondays at 11:59pm On the course website it looks like assignments are due on Tuesdays… It’s due on Monday at midnight!! Remco Chang 01 - Introduction 17/26 COMP 175 | COMPUTER GRAPHICS Take-Home Assignments: Grading Your team will demo your take-home assignment to me at the designated time. We will have sign up sheets when the assignments are due. Usually the demo date is the Friday of the assignment due week. Your team will “demo” your completed algorithm worksheet to the TAs The TAs will grade your algorithm worksheet for each assignment and give you feedback If it turns out that your solution is way off course, the TAs will ask you to schedule another time to meet with them Remco Chang 01 - Introduction 18/26 COMP 175 | COMPUTER GRAPHICS Assignment 1: Shapes Creating 3-dimensional objects using triangles Write code to break up common geometric shapes into triangles (tessellation) Rectangles, spheres, cylinders, and cones Data structure of points, lines, polygons, shapes Remco Chang 01 - Introduction 19/26 COMP 175 | COMPUTER GRAPHICS Assignment 2: Camera Write a (software) perspective camera Maintain transform matrices, from world to screen and inversely from screen to world Implement pan, zoom, rotate, etc. for the camera Become comfortable with matrix manipulation Remco Chang 01 - Introduction 20/26 COMP 175 | COMPUTER GRAPHICS Assignment 3: SceneView Maintain and render a hierarchical scene Uses the primitives created in Shapes, and the view transform from Camera Apply hierarchical transform of rotation, translation, and scaling to render a 3D scene Management of hierarchical data structure Remco Chang 01 - Introduction 21/26 COMP 175 | COMPUTER GRAPHICS Assignment 4: Modeler / Intersect Cast rays to intersect with a 3D scene Add user interactivity to move the objects using a mouse Output 3D scene files Become comfortable with going from 2D to 3D and 3D to 2D Remco Chang 01 - Introduction 22/26 COMP 175 | COMPUTER GRAPHICS Assignment 5: Recursive Ray Tracer Using rays from Modeler, recursively bounce to rays to create a fully ray-traced 3D scene Implement Phong Shading Implement texture-mapping Highly parallel, recursive algorithm Remco Chang 01 - Introduction 23/26 COMP 175 | COMPUTER GRAPHICS Final Project Demo during the final period Be awesome Ideas can come from: Labs Assignments Something cool you saw on Youtube An idea for a game A research paper you read : : Remco Chang 01 - Introduction 24/26 COMP 175 | COMPUTER GRAPHICS Other Issues Using Piazza Do NOT post code!! We’ll set this up later once the class roster stabilizes Using GLUT, GLUI Cross platform Linux / Unix Mac Windows Support code “cleanliness” and stability… Remco Chang 01 - Introduction 25/26 COMP 175 | COMPUTER GRAPHICS Late Policy Assignments that are turned in late will receive a 0. Note: you are allowed 1 extension for the semester. With an extension, you will be granted an extra 3 days. Assignments will be submitted using “provide” Remco Chang 01 - Introduction 26/26 COMP 175 | COMPUTER GRAPHICS Late Policy Labs are checked one week later. You will demo this in class to myself or the TA There is no late policy for the labs. If you have an extraordinary circumstance, you must contact the instructor or the TA as soon as possible and obtain written approval. NO LATE POLICY for the Final Project!! Final Project Demo will be on the Final Exam date (see course website for detail) Remco Chang 01 - Introduction 27/26 COMP 175 | COMPUTER GRAPHICS Questions? Remco Chang 01 - Introduction 28/26