Computer Graphics CS
Total Page:16
File Type:pdf, Size:1020Kb
Computer Graphics CS 354 Introductions I am Dr. Sarah Abraham • email: [email protected] • office hours: MW 4:00—6:00 T 11:00-noon The TA is Josh Vekhter • email: [email protected] • office hours: TBD Assignment and Grading Homeworks and quizzes (20%) 5 projects (50%) • 2-3 weeks each Final project (20%) • Open-ended • Includes a presentation on an “advanced” topic in graphics Participation (10%) Project Logistics • Can work in pairs • Both students get same grade • Late slips shared (both must submit) • We are moving to WebGL, so projects will run in browser for compatibility Classroom Logistics • Lecture time • In-class discussions • Concepts stick better when they’re hands-on Prerequisites Linear Algebra • CG could be “applied linear algebra” • Will show up over and over again • Reviewed in class and in worksheets • Stop and ask questions Prerequisites Linear Algebra Basic C++ • C++ is performant • An incredibly good skill for working in computer graphics • We are working Typescript and WebGL for cross-compatibility and to simplify the learning curve Prerequisites Linear Algebra Basic C++ Engineering large software systems • Debugging complex code • Using poorly-documented libraries • Time management • Good project planning What This Class is NOT About What This Class is NOT About 3D modeling tutorial What This Class is NOT About C++ or GLSL (shading language) tutorial Optional textbook: “red book” But I will recommend working through http://www.opengl-tutorial.org/ to help you get your bearings! A Brief History of Graphics Dark Ages: blinking lights, Teletype [UNIVAC I, 1951] [Model 33, 1963] Dark Ages 1940s: cathode ray tubes (CRTs) • originally used as computer memory 1960s CRTs can do basic vector graphics real time by early 60s [PDP-1 running “Spacewar!”, 1962] 1960s CRTs can do basic vector graphics computer terminals (“virtual teletype”) mass-produced in ‘67 [DataPoint 3300] 1960s 1968: Ray tracing invented [Ray traced building. [Appel 1968] Render time: 30 mins] 1960s 1963: Sketchpad Ivan Sutherland Father of Computer Graphics Turing Award winner Also pioneered: HUDs, OOP 1960s 1968: First VR headset [Sutherland’s “Sword of Damocles”] 1970s Sutherland founds research group at Utah They invent rendering and 3D modeling [First digitized model: Sutherland’s VW] [“Utah Teapot”, 1975] 1980s PC age begins Silicon Graphics manufactures graphics workstations [SGI IRIS 2400] 1980s CAD (computer-aided design) is king and drives computer graphics research [AutoCAD] 1980s 1982: First CG short, “Dream Flight” 1990s 1992: OpenGL released Graphics cards become common in PCs [GeForce 256, first commercial Nvidia GPU, 1999] 1990s 2000s GPUs become programmable • GPU parallelization a huge fad Large leaps in real-time graphics [Crysis, 2007] [DOOM 3, 2004] 2000s Movie industry rules graphics, drives research • More realistic rendering, faster • Physical simulation • Motion capture [Bridson et al, 2002] Uncanny Valley of Eeriness A Funny Thing Happens in 2009 Modern Graphics “Rendering is a solved problem” movie CG industry on the decline RIP 2011 RIP 2015 RIP 2013 Is Graphics Dead? If not, what are “modern” graphics problems? Modern Graphics • Real-time rendering • Physical simulation • 3D printing • Capture and tracking • AR and VR • …and more! Modern Graphics: Learning More ~15,000 attendees many videos online Here at UT: Graphics SEMinar • Undergrads welcome! • Talk to me after class! What This Class IS About 20th century Computer Graphics • Coordinate systems / transformations • OpenGL & shaders • Ray tracing • Shading and texturing • Animation Also: overview of advanced topics Some Cool Stuff Real-time Mocap https://youtu.be/JbQSpfWUs4I?t=350 Some Cool Stuff Procedural Generation https://www.youtube.com/watch?v=K0umGtw90Z4 Some Cool Stuff Heat and simulation https://www.youtube.com/watch?v=SIGQSgifs6s Friday: Meet and Greet We will meet in Discord voice to introduce ourselves! Bring 1-2 pictures that “represent” you (and ideally your interest in graphics) Be able to explain in 20-30 seconds to why you picked the pictures you did.