1 / 26

Lecture 01: Introduction

Lecture 01: Introduction. COMP 175: Computer Graphics January 16, 2014. People. TA: Paul Nixon Paul.Nixon@Tufts.edu Office: ?? Hours: ??. Instructor: Remco Chang remco@cs.tufts.edu Office: Halligan 221 Hours: Tue 4-5pm. Head TA: Mike Shah mshah08@cs.tufts.edu Office: ??

edna
Download Presentation

Lecture 01: Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 01:Introduction COMP 175: Computer Graphics January 16, 2014

  2. People TA: Paul Nixon Paul.Nixon@Tufts.edu Office: ?? Hours: ?? Instructor: Remco Chang remco@cs.tufts.edu Office: Halligan 221 Hours: Tue 4-5pm Head TA: Mike Shah mshah08@cs.tufts.edu Office: ?? Hours: ?? TA: Sophia PanuthosSophia.Panuthos@Tufts.edu Office: ?? Hours: ??

  3. Clarification! • Meeting Time: • Tuesday, Thursday from 1:30-2:45 • H+ Block • Quick Poll: • Laptops? • Operating Systems? • C++ proficiency? • People who took 150VIZ?

  4. Clarification! • Prerequisites • COMP 40 • Machine Structure and Assembly-Language Programming • Implies: COMP 15 (Data Structures) • Implies: proficiency with C++ and memory management • Linear Algebra • Vector and Matrix math

  5. Clarification • Questions? • Conflicts with schedule? • Don’t have the prereqs? • Schedule a time and come talk to me…

  6. What is Graphics? • 3D world map to 2D • How to do it? • Geometry transform • Per-pixel operation

  7. What is Graphics? • 3D world map to 2D • How to do it?

  8. What is Graphics? • Geometry • View • Complex scene • Putting pixels on a 2D canvas • Putting (pretty) pixels on a 2D canvas

  9. What is Graphics? • 3D world map to 2D • How to do it? • Fixed pipeline • Programmable pipeline • Going from fix pipeline into programmable pipeline

  10. 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…

  11. 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? • There are 3 ways to impress me: • Do something cool in your (visual/graphics) design • Do something cool in your (code) design • Do something cool in your (optimization) design • Math is cool, but…

  12. General Information • Course website: • http://www.cs.tufts.edu/comp/175 • Assignments • Labs • Syllabus • Support Code • Textbooks • Grading • Accommodation

  13. Grading • Assignments (3% + 10% each): • 1. Shapes 13% • 2. Camera 13% • 3. SceneView 13% • 4. Modeler 13% • 5. Ray Tracer 13% • Final Project 15% • Labs 20% (2% each) • Total 100%

  14. Teams and Outside Help • Paired Programming • Work in a team of two • We don’t recommend switching partners... • Online Resources • There are lots of resources online • Use them for understanding, but again, you must turn in your own work!

  15. Let’s Pick Teams • Form teams of 2

  16. In Class Labs • 10 Labs total • Should be doable within a couple of hours… • If not, you have 1 week to complete it

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. Final Project • Demo during the final period • Not suck • Ideas can come from: • Labs • Assignments • Something cool you saw on Youtube • An idea for a game • A research paper you read • : • :

  24. Other Issues • Using Piazza • Do NOT post code!! • Using GLUT, GLUI • Cross platform • Linux / Unix • Mac • Windows • Support code “cleanliness” and stability…

  25. Late Policy • Assignments that are turned in late will receive a 0. • Assignments will be submitted using “provide” • Each team will be required to demo their assignment to me in person. • Time and location of the demos -- ?? • Note: you are allowed 1 extension for the semester. • With an extension, you will be granted an extra 3 days. • Labs are checked one week later. • You will demo this in class to myself or the TA • 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!!

  26. Questions?

More Related