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 • 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: 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

[First digitized model: Sutherland’s VW] [“Utah ”, 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