CS535: Interactive Computer Graphics

Similar documents
CSCD18: Computer Graphics. Instructor: Leonid Sigal

CSCE 441 Computer Graphics Fall 2018

Syllabus CS476 COMPUTER GRAPHICS Fall 2009

Lahore University of Management Sciences. CS 452 Computer Graphics

CSC 111 Introduction to Computer Science (Section C)

CIS 581 Interactive Computer Graphics

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CS559: Computer Graphics. Lecture 1 Introduction Li Zhang University of Wisconsin, Madison

Welcome to CS 4/57101 Computer Graphics

ce Hours: MW 12:30 PM 1:30 PM (till 12/12/18), or by appointment

INF 315E Introduction to Databases School of Information Fall 2015

Course and Contact Information. Course Description. Course Objectives

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CS4621/5621 Fall Computer Graphics Practicum Final Projects. Professor: Kavita Bala Instructor: Nicolas Savva

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013

Intro. Week 1, Fri Jan 4

Lahore University of Management Sciences. CS 452 Computer Graphics

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Requirements. Reference Books. Textbook

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

Course Producer. Prerequisites. Textbooks. Academic integrity. Grading. Ming Chen. Same office hours as TA. The Hobbit: The Desolation of Smaug (2013)

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Computer Graphics ( /657) Prof. Misha Kazhdan

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CARTO UNIVERSITY GROUP. Syllabus GEO 445/545 Computer-assisted Cartography Winter December 18, 2013

Course and Contact Information. Course Description. Course Objectives

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

CS5620 Intro to Computer Graphics

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

Instructor: Anna Miller

EECE.2160: ECE Application Programming Spring 2019

Programming Game Engines ITP 485 (4 Units)

Cornell CS4620 Fall 2011!Lecture Kavita Bala (with previous instructors James/Marschner) Cornell CS4620 Fall 2011!Lecture 1.

CS380: Introduction to Computer Graphics Introduction to OpenGLSL. Min H. Kim KAIST School of Computing. [CS380] Introduction to Computer Graphics

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

COMPUTER GRAPHICS CS

ESET 349 Microcontroller Architecture, Fall 2018

San José State University College of Science / Department of Computer Science Introduction to Database Management Systems, CS157A-3-4, Fall 2017

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

CS GPU and GPGPU Programming Lecture 1: Introduction. Markus Hadwiger, KAUST

CS354 Computer Graphics Introduction. Qixing Huang Januray 17 8h 2017

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

CS 410: Computer Graphics

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

CS 241 Data Organization using C

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3)

INFS 2150 (Section A) Fall 2018

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

Cleveland State University

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Course and Contact Information. Catalog Description. Course Objectives

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Course Web Site ENGN2501 DIGITAL GEOMETRY PROCESSING. Tue & Thu Barus&Holley 157

CISC 3130 Data Structures Fall 2018

EECE.2160: ECE Application Programming Spring 2017

You must pass the final exam to pass the course.

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

NOTE: This syllabus is subject to change during the semester. Please check this syllabus on a regular basis for any updates

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

PART 2 Introduction to Computer Graphics using OpenGL. Burkhard Wünsche

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

EF432. Introduction to spagetti and meatballs

Overview of the Class

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE506: Operating Systems CSE 506: Operating Systems

Internet Web Technologies ITP 104 (2 Units)

Data Structures and OO Development II

Prof. David Yarowsky

Advanced Visualization

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

Linear Algebra Math 203 section 003 Fall 2018

IT 341 Fall 2017 Syllabus. Department of Information Sciences and Technology Volgenau School of Engineering George Mason University

Web Programming Fall 2011

Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science. State University of New York. EngiNet WARNING CS 560

Adobe Illustrator CS4

Overview. Computer Graphics CSE 167

ESET 369 Embedded Systems Software, Fall 2017

CS 4317: Human-Computer Interaction

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

CS 0449 Intro to Systems Software Fall Term: 2181

CS Computer Science I

San José State University Department of Computer Science CS166, Information Security, Section 1, Fall, 2018

CS 241 Data Organization. August 21, 2018

Database Security MET CS 674 On-Campus/Blended

Increase your awareness of the wide range of computer applications available for computer modeling and visualization.

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CPSC 5157G Computer Networks

Course Administration

CPSC 4600 Biometrics and Cryptography Fall 2013, Section 0

CRP 5851 GRAPHIC COMMUNICATION Fall 2016 Course Syllabus

Transcription:

CS535: Interactive Computer Graphics Instructor: Daniel G. Aliaga (aliaga@cs.purdue.edu, www.cs.purdue.edu/homes/aliaga) Classroom: LWSN B134 Time: MWF @ 1:30-2:20pm Office hours: by appointment (LWSN 3177) TA: Gen Nishida (gnishida@cs.purdue.edu) TA Office hours: T/Th 2-3pm (LWSN 3151) Interested in computer graphics? Does modeling objects interest you? Do you like rendering photorealistic imagery? Is doing animations fun to you? All this is part of computer graphics. This course teaches the fundamentals, at a graduate school level, for such activities and research projects. Major applications include: Virtual Reality 3D Scanning Video Games Film Special Effects CAD/CAM Simulation Medical Imaging Image Processing Scientific and Information Visualization 1. Prerequisites Students are required to have previous C/C++ programming experience and are recommended to have previous computer graphics experience, such as OpenGL programming experience (although OpenGL will be reviewed at the beginning of the semester). 2. Course work The course work is composed of programming assignments, exams, and interactive class participation. The programming assignments consist of a warm-up assignment, two minor programming assignments, one homework, and a final project. The exams consist of a midterm and a final exam. Class participation will consist of active participation during class (you be called upon) and a final-project background research review to your classmates. Course work will be easier to manage if you keep a constant pace through the semester. This course is hard work but you will learn a lot and have fun! 3. Grading Programming Assignments: 25% (assignments 0-3: 1%, 6%, 8%, 10%) Class Participation: Exams: 30% (final assignment) 15% (10% final-project-review, 5% active participation) 10% (midterm) 20% (final) ----- 100% TOTAL

4. Tentative Lecture Schedule (most current one is on webpage) Math Review August 25 Course Organization, History, Programming at Purdue August 27 Vector Math, 2D Transformations August 29 3D Transformations and Perspective Projection Assignment #0 out Cameras September 1 Labor Day (no classes) September 3 Cameras and Projections: Standard Cameras September 5 Cameras and Projections: Omnidirectional Cameras Assignment #0 due Assignment #1 out Camera Calibration and Graphics Pipeline September 8 Camera Calibration September 10 Camera Calibration September 12 Graphics Pipeline Texture Mapping and GPU Programming September 15 GPU programming September 17 Texture mapping: proj. mapping, environment mapping, bump mapping September 19 Texture mapping: proj. mapping, environment mapping, bump mapping Assignment #1 due Assignment #2 out Surfaces and Triangulation September 22 Voronoi Diagrams September 24 Triangulation, Curved Surfaces September 26 Curved Surfaces Spatial Hierarchies and Visibility September 29 -- Spatial Hierarchies October 1 Culling (View frustum and backface culling) October 3 Visibility Determination Assignment #2 due Midterm October 6 Review October 8 Midterm October 10 Going over exam Procedural Modeling October 13 No Classes (Fall Break)

October 15 Final Projection Explanation Final Projects out October 17 Procedural modeling: plants Procedural Modeling and Ray Tracing October 20 Procedural modeling: terrain, buildings, cities, and more October 22 -- Ray tracing October 24 -- TBA Presentations October 27 In-depth presentations I October 29 In-depth presentations II October 31 In-depth presentations III Illumination November 3 Global Illumination November 5 Ambient Occlusion November 7 Example-based shading Assignment #3 out Colors November 10 Colors: perception and models November 12 Colors: perception and models November 14 Colors: calibration Assignment #3 due Images and Computer Vision November 17 Images: morphing and warping November 19 Images: resizing synthesis November 21 Computer Vision: 3D Reconstruction Visualization November 24 Visualization November 26 Thanksgiving November 28 Thanksgiving Demos! December 1 Demo Rehearsal/How-to-give-a-demo lecture December 3 - TBA December 5 Demo Day! (dead week) December 8 Review for final December 10 TBA December 12 TBA Final Exam see university schedule

5. Assignments You may use CS lab computers or home computers. Assignments must be written in C/C++ on a Windows computer. Assignments are due before class time on the due date and must be sent to the course TA using Blackboard including all source code, data files, and an already compiled program. The time-stamp will be used to verify on time submission. The grading for the assignment will consider functionality and form. All assignments must be polished products, with a well designed user interface and clean, reliable functionality. A program that does not compile obtains 0 points. Assignment #0 Warm up (1 week). The objective is to get a small graphics project working. You can either use (i) OpenGL+GLUT+GLUI or (ii) OpenGL+Qt to implement a simple screensaver style program. The program will open up a window, display a GUI to choose screen-saver options, and draw a simple 2D screen saver in the main window. If you are already well versed in Windows GUI programming, you may use that instead but only upon approval by the instructor. Assignment #1 Linear Algebra (2 weeks): The objective is to ensure you understand well camera models and perspective projection. The logic will be described in class and in the assignment. You can use OpenGL matrix stack to do the linear algebra or implement your own necessary math libraries. Assignment #2 Environment Mapping (2 weeks). The objective is to write a program to implement environment mapping using GPU programming. We will provide a skeleton program but you will have to use OpenGL shading language (GLSL) and CPU code to produce an environment mapping effect. Assignment #3 Written Homework on Advanced Topics (1 week). This objective is a written exam-like homework on some of the relatively more advanced topics. Final Project (7 weeks). Projects will be presented on a publicly attended demo day at the end of the semester (last day of classes, details TBD based on enrollment). You may choose a project that builds upon suggested ones or you may provide a written proposal for an independent project. Team projects (of up to 2 students) are permitted. Grading: the final assignment must be a polished product, with a well designed user interface and clean, reliable functionality. 6. In-Class Presentation (and Class Participation) At the beginning of the final project time period, each project (individual or group), will give a short GRADED presentation about a background literature search of their proposed project. The presentation should include mostly a summary of the state of the art and a short preview of what your project will do. Also, in general students will be called upon during class to explain concepts and solve problems (sometimes in small teams).

7. Exams The midterm will cover material explained in class, stressing fundamentals. The final exam will cover material of the entire semester and will stress understanding of general interactive computer graphics and its fundamentals. Both are closed book and will require understanding and imagination rather than memorization of formulas. A qual exam will be offered after the final exam. 8. Administrative Issues Late policy Assignments are due before class on due date. First time late no penalty for up to one week, but instructor must be notified via email BEFORE deadline (if instructor not notified via email before assignment due date, late pass cannot be used and assignment will be late). Second and subsequent times -- grade reduction of 33% per day. All assignments required by demo day at end of course or failing grade will be issued. Collaboration All assignments, exams, and review presentations must be done individually. Final projects may be done in teams upon approval by the instructor. Copying or plagiarism will give you a failing grade in the course and you will be subject to departmental and University policies. Code obtained from the Internet, books, or other sources may *not* be used for any assignment/project. Exceptions allowed only under explicit instructor approval.