CS482: Interactive Computer Graphics Min H. Kim KAIST School of Computing Welcome [CS482] Interactive Computer Graphics (Lecture) Tuesday and Thursday 10:30AM 11:45AM, Rm. 114, N-1, KAIST (Lab) Wednesday 19:00 22:00, Rm. 317, N-1, KAIST (TA Office Hour) Monday 18:30 20:00, Rm. 2421, E3-1, KAIST Course website: http://vclab.kaist.ac.kr/cs482/ 2 1
About Instructor Dr. Min Hyuk Kim ( 김민혁 ) PhD in Computer Science (UCL 2010) Associate Professor at KAIST School of Computing Postdoc Researcher at Yale University Associate Editor of ACM Trans. Graphics Associate Editor of ACM Trans. Applied Perception Associate Editor of Elsevier Computers & Graphics Microsoft New Faculty Award Naver Young Faculty Fellowship Best Paper Awards (ACCV, VAST) 3 Reference Books [Basic] Steven J. Gortler (2012) Foundations of 3D Computer Graphics, MIT Press (available from the KAIST library) 4 2
Reference Books [Advanced] P. Dutre, K. Bala, P. Bekaert, A K Peters, Ltd., 2006, Advanced Global Illumination, 2nd ed. 5 Tentative Timetable Lecture: 40 minutes Project presentation: 30 minutes Week Date Lecture Team project 1 9/06 [Basic] Introduction to computer graphics Grouping teams 9/08 [Basic] OpenGL SL Refining groups 2 9/13-15 Mid-autumn festival days 3 9/20 [Basic] Linear transformation Design candidates 1 9/22 [Basic] Affine transformation Design candidates 2 4 9/27 [Basic] Respect in graphics Design candidates 3 9/29 [Basic] Frames in graphics Design candidates 4 5 10/04 [Basic] Camera projection 1st progress presentation 1 10/06 [Basic] Depth 1st progress presentation 2 6 10/11 [Basic] Rasterization 1st progress presentation 3 10/13 [Basic] Sampling 1st progress presentation 4 7 10/18 [Basic] Reconstruction, resampling 2st progress presentation 1 10/20 Midterm exam (about the basic topics) 6 3
Tentative Timetable Week Date Lecture Project (four teams) 8 10/27 [Advanced] Light transport 2st progress presentation 2 9 11/01 [Advanced] Rendering Equation 2st progress presentation 3 11/03 [Advanced] Ray tracing 2st progress presentation 4 10 11/08 [Advanced] Radiosity 3rd progress presentation 1 11/10 [Advanced] Monte Carlo integration (1/2) 3rd progress presentation 2 11 11/15 [Advanced] Monte Carlo integration (1/2) 3rd progress presentation 3 11/17 [Advanced] Photon mapping (1/2) 3rd progress presentation 4 12 11/22 [Advanced] Photon mapping (1/2) 4th progress presentation 1 11/24 [Advanced] Precomputed radiance transfer 4th progress presentation 2 13 11/29 [Advanced] Ultimate realism and speed (1/2) 4th progress presentation 3 12/01 [Advanced] Ultimate realism and speed (2/2) 4th progress presentation 4 14 12/06 Final quiz (about the advanced topics) 15 12/14 Final Presentations (Lab session, Wed. 19:00 20:00) 16 12/17 Final exam week (no exam) 7 Grading Class participation: 10% Midterm exam (for basic lectures): 20% Final quiz (for advanced lectures): 20% Final project: 50% Unless a President s excuse is received, no assignment will be accepted for credit after its original due date. Plagiarism will not be tolerated by University rules (plagiarism detection software will be used.) 8 4
Prerequisites There are no official course prerequisites. However, we assume You already learn basic graphics knowledges from the graphics course, CS380 (see this website: http://vclab.kaist.ac.kr/cs380/) We wouldn t teach you OpenGL syntax, C (or C++), Java, and Android programming programming experience in C (or C++) and OpenGL a good knowledge of linear algebra an exposure to calculus and image processing 9 Teaching Assistants Giljoo Nam PhD Student at VCLAB, ex. 7864 gjnam@vclab.kaist.ac.kr Sukjun Jeon PhD Student at VCLAB, ex. 7864 sjjeon@vclab.kaist.ac.kr Mingyun Kang MS Student at VCLAB, ex. 7864 mgkang@vclab.kaist.ac.kr 10 5
Teaching Assistants Insu Kim MS Student ahinsutime@kaist.ac.kr Sunggeun Ahn PhD Student topmaze@kaist.ac.kr 11 Resources Textbook website LightHouse3D.com MIT Press freeglut OpenGL GLEW OpenGL Shade Language GLFW (similar to GLUT) GTK+ Wolfram MathWorld http://www.3dgraphicsfoundations.com/ http://www.lighthouse3d.com/ http://mitpress.mit.edu/books/foundations-3d-computergraphics-0 http://www.transmissionzero.co.uk/software/freeglutdevel/ http://glew.sourceforge.net/ http://www.opengl.org/documentation/glsl/ http://www.glfw.org/ http://www.gtk.org/ http://mathworld.wolfram.com/ 12 6
What is Computer Graphics? http://techcrunch.com/2014/10/01/this-is-cg/ 2014 Chris Jones, The Passenger 13 What is Computer Graphics? The Study of Algorithms and Systems for Generating Images with Computers Includes the study of: Representation Interaction Applications Manipulation 14 7
What is Computer Graphics? What computers do process, transform, and communicate information Aspects of communication Origin (where does the information come from?) Throughput (how frequent?) Latency (how long do I have to wait?) Presentation (what does it look like?) Computer Graphics is the technology for visually presenting information What is Computer Graphics? Image Creator: What controls are available? Image User: How will the image be perceived? 8
What is Computer Graphics? Imaging = representing 2D images Modeling = representing 3D objects Rendering = constructing 2D images from 3D models Animation = simulating changes over time 17 Research in Computer Graphics 2D imaging Digital imaging/filtering Color transformations Display technology Compositing and layering 2D drawing Sketching, illustration User interface 18 9
Research in Computer Graphics 3D modeling Scanning 3D shapes 2D texture mapping Polygons, curved surfaces Procedural modeling 2D texture Virtual 3D character 19 Research in Computer Graphics 3D rendering 2D views of 3D geometry Projection and perspective Removing hidden surfaces Lighting simulation 2D 3D Tracing ray transport 4 rays per pixel 1024 rays per pixel 20 10
Research in Computer Graphics User Interaction 2D graphical user interfaces 3D modeling interfaces Virtual reality NASA 21 Research in Computer Graphics Animation Physical simulation Key-frame animation Water nvidia Hair D. Enright Allowing artists complete controls over animation Prabath Gunawardane 22 11
Example of Graphics Software 23 Historical Perspective A short history of graphics: 1950: MIT Whirlwind (CRT) 1955: Sage, Radar with CRT and light pen 1958: Willy Higinbotham Tennis for Two 1960: MIT Spacewar on DEC PDP-1 1963: Ivan Sutherland s Sketchpad (CAD) 1969: ACM SIGGRAPH founded 1968: Tektronix storage tube ($5-10,000) 1968: Evans & Sutherland (flight simulators) founded 1968: Douglas Engelbart: computer mouse 1970: Xerox: GUI 1971: Gourand shading 1974: Z-buffer 1975: Phong shading model 1976: First animations rendered 1979: Eurographics founded 1980: Whitted: Ray tracing 24 12
Historical Perspective A short history of graphics (Cont.): 1981: Apollo Workstation, IBM PC 1982: Silicon Graphics (SGI) founded 1984: X Window System 1984: First Silicon Graphics Workstations (IRIS GL) Until mid/end of 1990s: Dominance of SGI in the high end HW: Reality Engine, InfiniteReality, RealityMonster,... SW: OpenGL, OpenInventor, Performer, DigitalMediaLibs,... End of 1990s: Low- to mid range taken over by PCs (Nvidia, ATI,...) HW: Fast development cycles, Graphics-on-a-chip,... SW: Direct3D & OpenGL, computergames 1995: First feature film Toy Story Today Programmable graphics hardware, Cg, Cuda Realtime Ray Tracing 25 Applications in Computer Graphics Games Computer-Aided Design Computer-Aided Analysis Movies Simulation Training Cultural Heritage User Interface Information Visualization Medical Imaging 26 13
Applications in Computer Graphics Detroit: Become Human, Sony 27 Applications in Computer Graphics PocketMon Go, Nintendo 28 14
Applications in Computer Graphics Frozen (2013) Walt Disney Animation Studios 29 What We Are Doing Underneath 30 15
What We Are Doing Underneath 31 TEAM PROJECT 32 16
Team project Objective: Building a mobile video game or service (not necessarily video game) You can do whatever you want as it is at the level of PG13 Scope: Using only fundamental OpenGL shading languages such as geometry and pixel shader, including texture, normal, and height mapping No ready-made graphics library such as Unity3D, Orge3D, Unreal, CryEngine, etc are allowed!!! 33 Team project Submission: Make an account in GitHub (https://github.com/) Send an email to let the TA know your account Giljoo Nam s Email: gjnam@vclab.kaist.ac.kr Submit your changes to the GitHub repository TA will check out each member s contribution through the repository in each group Let s group for now! 34 17
Design: Conceptual Model After mid-autumn festival days, each team will present THREE design concepts for the team project, for each idea: Conceptual model diagram 35 Design: User Interface Make hand-drawing sketches for user interface: 36 18
Design: System Design Rough sketch for your system design 37 Design: Story Build a user scenario in the video game Try to make it simple but intuitive A good video game will have a simple but interesting story! Do not burn yourself by making the scope of the video game too wide Let s be more realistic but interesting ;) 38 19
Group Discussion In the first phase of presentation, professor will give feedback to each team, then you will be able to focus on ONE idea for this semester We will have progress presentation of 30 minutes from each team in every lecture In the final presentation, we will have group discussion on your video game Work HARD! Enjoy compueter graphics! 39 20