CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu http://www.cs.virginia.edu/~cs551 David Luebke 7/27/2016 Administrivia Hand out syllabus – – – – – – David Luebke Instructor/TA coordinates Prereqs Text Grading & Honor Code Topic list Assignments 7/27/2016 Questions? David Luebke 7/27/2016 The Basics This course is about: – Algorithms and data structures for presenting data visually on a computer This course is not about: – Using graphic design programs like Photoshop or 3-D Studio Max – Using graphics APIs like OpenGL or Direct3D (though we will use a little OpenGL) David Luebke 7/27/2016 The Basics Computer graphics: generating 2D images of a 3D world represented in a computer. Main tasks: – modeling: creating and representing the geometry of objects in the 3D world – rendering: generating 2D images of the objects – animation: describing how objects change in time David Luebke 7/27/2016 Why Study Computer Graphics? Graphics is cool – I like to see what I’m doing – I like to show people what I’m doing Graphics is interesting – Involves simulation, algorithms, architecture… Graphics is important – Just ask Intel… Graphics is fun – Roll the video… David Luebke 7/27/2016 Graphics Applications Entertainment: Cinema Universal: Jurassic Park David Luebke Pixar: Geri’s Game 7/27/2016 Graphics Applications Entertainment: Games id: Quake II Cyan: Riven David Luebke 7/27/2016 Graphics Applications Medical Visualization The Visible Human Project David Luebke MIT: Image-Guided Surgery Project 7/27/2016 Graphics Applications Computer Aided Design (CAD) David Luebke 7/27/2016 Graphics Applications Scientific Visualization David Luebke 7/27/2016 Dumb Question of the Week What’s a pixel? David Luebke 7/27/2016 Display Technologies Cathode Ray Tubes (CRTs) – Most common display device today – Evacuated glass bottle (last of the vacuum tubes) – Heating element (filament) – Electrons pulled towards anode focusing cylinder – Vertical and horizontal deflection plates – Beam strikes phosphor coating on front of tube David Luebke 7/27/2016 Display Technologies: CRTs Vector Displays – – – – – – David Luebke Anybody remember Battlezone? Tempest? First computer displays: basically an oscilloscope Control X,Y with vertical/horizontal plate voltage Often used intensity as Z Show: http://graphics.lcs.mit.edu/classes/6.837/F98/Lecture1/Slide11.html Name two disadvantages 7/27/2016 Display Technologies: CRTs Vector Displays – – – – – – Anybody remember Battlezone? Tempest? First computer displays: basically an oscilloscope Control X,Y with vertical/horizontal plate voltage Often used intensity as Z Show: http://graphics.lcs.mit.edu/classes/6.837/F98/Lecture1/Slide11.html Name two disadvantages David Luebke Just does wireframe 7/27/2016 Display Technologies: CRTs Vector Displays – – – – – – Anybody remember Battlezone? Tempest? First computer displays: basically an oscilloscope Control X,Y with vertical/horizontal plate voltage Often used intensity as Z Show: http://graphics.lcs.mit.edu/classes/6.837/F98/Lecture1/Slide11.html Name two disadvantages David Luebke Just does wireframe Display needs constant update to avoid fading 7/27/2016 Display Technologies: CRTs Raster Displays – Black and white television: an oscilloscope with a fixed scan pattern: left to right, top to bottom – Paint entire screen 30 times/sec Actually, TVs paint top-to-bottom 60 times/sec, alternating between even and odd scanlines This is called interlacing. It’s a hack. Why do it? – To paint the screen, computer needs to synchronize with the scanning pattern of raster David Luebke Solution: special memory to buffer image with scan-out synchronous to the raster. We call this the framebuffer. 7/27/2016 The End David Luebke 7/27/2016