Computer Graphics Programming II

Similar documents
VGP352 Week March-2008

CS535: Interactive Computer Graphics

Course Syllabus: CompTIA Project+

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

INFS 2150 (Section A) Fall 2018

Course Syllabus: CompTIA A+ Hardware

Chapter 1 Introduction. Marc Olano

Course Syllabus: CompTIA A+

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

Course Syllabus: CompTIA Network+

Instructor: Anna Miller

Shading Languages. Ari Silvennoinen Apri 12, 2004

Syllabus -- CIS Computer Maintenance / A+ Certification

Why modern versions of OpenGL should be used Some useful API commands and extensions

Course Syllabus: Linux Essentials

Computer Graphics. - Introduction - Hendrik Lensch. Computer Graphics WS07/08 - Introduction

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

COURSE SYLLABUS AND INSTRUCTOR PLAN

Course Syllabus: CompTIA Network+

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

ECE Object-Oriented Programming using C++ and Java

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

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS 3D MODELING & ANIMATION CGT 2160

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

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

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

ESET 369 Embedded Systems Software, Spring 2018

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

CS 241 Data Organization using C

MET CS 674 C1/EL Spring 2017: DATABASE SECURITY SYLLABUS

VGP352 Week 8. Agenda: Post-processing effects. Filter kernels Separable filters Depth of field HDR. 2-March-2010

Lahore University of Management Sciences. CS 452 Computer Graphics

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

Programming Game Engines ITP 485 (4 Units)

A model to blend renderings

CSc 2310 Principles of Programming (Java) Jyoti Islam

Introduction to Computers & Their Use

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

Welcome to CS 4/57101 Computer Graphics

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

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

Additionally, if you are ing me please place the name of the course in the subject of the .

Cleveland State University

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

HOUSTON COMMUNITY COLLEGE BUSINESS TECHNOLOGY NORTHEAST COLLEGE-NORTHLINE LOCATION COURSE SYLLABUS FALL 2011 COMPUTER APPLICATION I POFI 1301

TPA 4251C: Advanced CADD for Theatre TPA 5346C: 3D Modeling for Theatre Fall 2014

Course Syllabus: Cisco Certified Entry Network Technician (CCENT)

ESET 349 Microcontroller Architecture, Fall 2018

Enhancing Information on Large Scenes by Mixing Renderings

EECE.2160: ECE Application Programming Spring 2019

PC Applications IT102 estart Fall 2014

CSCE 441 Computer Graphics Fall 2018

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

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

MGMT 4336 Networks & Data Communication Section D10

Nonphotorealism. Christian Miller CS Fall 2011

CISN 340 Data Communication and Networking Fundamentals Fall 2012 (Hybrid)

Course Syllabus: Linux Essentials

Santa Monica College. GRAPHIC DESIGN 65: Web Design I Course Syllabus

X

OpenGL SuperBible (3rd Edition) By Benjamin Lipchak, Richard S Wright READ ONLINE

COSC 115A: Introduction to Web Authoring Fall 2014

Red Hat Certified Engineer (RH300) 50 Cragwood Rd, Suite 350 South Plainfield, NJ 07080

ESET 369 Embedded Systems Software, Fall 2017

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

OpenGL SuperBible: Comprehensive Tutorial And Reference (4th Edition) By Richard S. Wright, Benjamin Lipchak

G - Graphics

ABRIDGED BIOL 204 PM (20042) Human Anatomy. Lecture: Tuesday & Thursday 2:00 3:05 room 2726 Lab/Study Period: Tuesday & Thursday 3:35 6:25 room 2736

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

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

1. Textbook #1: Our Digital World (ODW). 2. Textbook #2: Guidelines for Office 2013 (GFO). 3. SNAP: Assessment Software

Introduction to Computer Systems

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

ECE 467 Section 201 Network Implementation Laboratory

ITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS

COURSE NUMBER: ISS 214 COURSE NAME: Connecting Networks - Cisco 4 SEMESTER CREDIT HOURS: 4.

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

A: 90% - 100% B: 80% - <90% C: 70% - <80% D: 60% - <70% F: < 60% Important Dates:

Photon Mapping. Michael Doggett Department of Computer Science Lund university

Updated: 2/14/2017 Page 1 of 6

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

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ROUTING/SWITCH CONFIGURATION CSIT 2750

Learning Outcomes: Upon the successful completion of this course, a student should be able to:

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS AUDIO/VIDEO FOR THE WEB WEB 2120

Operating Systems, Spring 2015 Course Syllabus

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

Division of Engineering, Computer Programming, and Technology

CS 4317: Human-Computer Interaction

Gerlinde Brady Phone: Office Hours: see Web at:

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

VIS II: Design Communication Graphic Design Basics, Photoshop and InDesign Spring 2018

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

COURSE SYLLABUS. Course Name NETWORK+ Course Number ITNW Y Lecture - Lab - Credit. NONE Prerequisite

Course Title: Computer Networking 2. Course Section: CNS (Winter 2018) FORMAT: Face to Face

Syllabus Honors Java Programming 1 & 2

CS 235AM, Mobile Application Development: Android Spring 2016

Computer Graphics Introduction. Taku Komura

Advanced d Computer Graphics CS 563: Real Time Ocean Rendering

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

CSE 504: Compiler Design

Transcription:

Course Description VGP352A Winter 2008, 3 credits Tuesday, 6:00PM - 9:45PM Room #201 In this course students will learn and apply high-level shading language concepts using the OpenGL Shading Language. Students will gain experience working with advance lighting models and procedural texturing techniques. By the end of the course, students will be able to: Develop and debug vertex and fragment shaders. Understand and implement advanced per-pixel lighting algorithms. Understand and implement procedural textures. Understand and implement render-to-texture type algorithms. Read, understand, and make use of information in academic papers. The complete, up to date, course syllabus is also available on-line at the course website (http://people.freedesktop.org/~idr/2008q1-vgp352/). The syllabus is available as both HTML and PDF (http://people.freedesktop.org/~idr/2008q1-vgp352/vgp352.pdf). Prerequisite Successful completion of VGP351 or concent of instructor is required. This course is both programming and math intensive. Some background in C or C++ programming is required. Familiarity with object oriented programming principles will be very helpful but is not strictly required. Working knowledge matrix math and trigonometry is required. Some background in basic calculus is helpful but not required. Texts Required text: 1

Tomas Akenine-Möller Eric Haines Real-Time Rendering (2 nd Ed.). AK Peters, Ltd., July 2002. ISBN 1-56881-182-9. The book also has a website (http://www.realtimerendering.com/), that includes lots of additional references and sample code. Optional texts: Randi J. Rost OpenGL Shading Language (2 nd Ed.). Addison-Wesley Professional, January 25, 2006. ISBN 0321334892 Richard S. Wright Benjamin Lipchak Nicholas Haemel OpenGL SuperBible: Comprehensive Tutorial and Reference (4th Ed.). Addison-Wesley Professional, June 2007. ISBN 0321498828. Earlier editions of either book should be sufficient for this course. They are often available on ebay or Amazon at reduced prices. There will not be any readings assigned from either book. OpenGL Shading Language has a website (http://3dshaders.com/), that includes example shaders and some references. Required Materials In addition to paper and writing utensils, each student will need a removable storage device. The storage device will be used to both bring documents and sample code home from class and bring homework completed assignments to class. The storage requirements should be minimal, so a small USB flash-drive (256MB) should be sufficient. Grading Each student s grade in this course will be primarily based on a total of five single-week programming assignments and one four-week programming project. Each student will also be required to read an academic paper and present a summary of that paper to the class. The remainder of the student s grade will be based on bi-weekly quizes and a final exam. Programming assignments will be graded first and foremost on whether or not correct output is produced. The remaining points are based on the style of the program. This includes, but is not limited to, algorithm selection, code formatting, and naming conventions. A detailed rubric will be provided with each assignment. Programming Assignments In-class presentation Homework programming assignments Term project Tests 20 pts. 50 pts. 50 pts. Subtotal 120 (63%) 2

In-class quizzes Final Exam 20 pts. 50 pts. Subtotal 70 pts. (37%) Total 190 pts. (100%) Some assignments may carry extra-credit opportunities, but they will be infrequent. Grading Scale A = 93% and above A- = 90%-92% B+ = 87%-89% B = 83%-86% B- = 80%-82% C+ = 77%-79% C = 73%-76% C- = 70%-72% D+ = 67%-69% D = 60%-66% Late Work I do not accept late work. If you miss a deadline, you will not earn the points for that activity. There are no make-up opportunities. If you are unable to attend class on the due date for a assignment, please submit it by e-mail before class. Attendance and Participation If you are not in class for an in-class exercise, you cannot earn those points. If you miss an entire class, you are responsible for obtaining copies of handouts and other classroom materials from your classmates. AiPD Policies Lab Policies Leave food and drink outside the class. Disciplinary action will be taken toward any student found using the equipment in an inappropriate manner, taking cell phone calls or surfing the web. Disruptive, disrespectful or rude behavior will not be tolerated. 3

Plagiarism Presenting the writings, images or paraphrased ideas of another as ones own, is strictly prohibited at the Art Institute of Portland. Properly documented excerpts from others works, when they are limited to an appropriate amount of the total length of a student s paper, are permissible when used to support a researched argument. Students with Disabilities It is AiPD policy not to discriminate against qualified students with a documented disability in its educational programs, activities or services. If you have a disability-related need for adjustments or other accommodations in this class, contact the Disability Services Coordinator. Amber Perrin Disabilities Services Coordinator The Art Institute of Portland 1122 NW Davis Street Portland, OR 97209-2911 503-382-4836 <aperrin@aii.edu> Course Calendar Week 1 (January 8 th, 2008) Lecture notes (GLSL Intro.pdf) Course road-map Introduction to OpenGL Shading Language What fixed-function elements does GLSL replace? Overview of shader syntax Loading and using shaders Phong shading with GLSL Shading in world-space Shading in surface-space (aka tangent-space) Bumpmapping in surface-space 4

Real-Time Rendering, section 5.7. Pay particular attention to sections 5.7.4 and 5.7.5. Skip the subsection titled Emboss Bump Mapping. Michael Toksvig Mipmapping Normal Maps. http://developer.nvidia.com/object/mipmapping_normal_maps.html Week 2 (January 15 th, 2008) Lecture notes (GLSL, render-to-texture, env mapping.pdf) Render-to-texture techniques Render to framebuffer, copy to texture Framebuffer objects Environment mapping Sphere Paraboloid / dual-paraboloid Cubic Generating environment maps in real-time Real-Time Rendering, sections 6.1, 6.2, and 6.3. You can safely skim 6.2, but you ll probably want to read 6.3 twice. Matthias Wloka Fresnel Reflection. http://developer.nvidia.com/object/fresnel_wp.html Rob Jones OpenGL Framebuffer Object 101 2006. http://www.gamedev.net/reference/programming/features/fbo1/ Simon Green The OpenGL Framebuffer Object Extension Game Developer s Conference 05, 2005 http://developer.nvidia.com/object/gdc_2005_presentations.html Programming assignment #1: Environment mapped shininess in tangent-space. (http://people.freedesktop.org/~idr/2008q1-vgp352/20080115_assignment.pdf) Base code. (http://people.freedesktop.org/~idr/2008q1-vgp352/simple_phong.zip) Week 3 (January 22 nd, 2008) Lecture notes (20080122 - BRDF, part 1.pdf) 5

Improving the reflection model Mipmapping of normal maps Using environment maps as lights Fresnel reflection BRDF Introduction Bi-directional reflection distribution function Common terminology and notation Cook-Torrance model Robert Cook Kenneth Torrance. 1982. A Refectance Model for Computer Graphics, ACM Trans. Graph. 1, 1 (Jan. 1982), pp 7-24. http://graphics.pixar.com/reflectancemodel/ Week 4 (January 29 th, 2008) Lecture notes (20080129 - BRDFs, part 2.pdf) Microfacet-based BRDFs Normal distribution Occlusion Michael Ashikhmin, Simon Premoze, Pete Shirley. A Microfacet-Based BRDF Generator, In SIGGRAPH 2000 Conference Proceedings. http://www.cs.utah.edu/vissim/papers/facets/ Programming assignment #2: Environment map based lighting with prefiltered environment maps. (http://people.freedesktop.org/~idr/2008q1-vgp352/20080129_assignment.pdf) Week 5 (February 5 th, 2008) Lecture notes (20080204 - BRDFs, part 3.pdf) Anisotropic BRDFs What is anisotropy? Real surfaces that exhibit anisotropic reflaction 6

Ward BRDF Ashikhmin BRDF Bruce Walter Notes on the Ward BRDF, Technical Report PCG-05-06. Cornell Program of Computer Graphics. April 29, 2005. http://www.graphics.cornell.edu/pubs/2005/wal05.html Dan Goldman Fake Fur Rendering, In SIGGRAPH 97 Conference Proceedings, pp. 127-134., 1997. http://www.cs.washington.edu/homes/dgoldman/fakefur/ Week 6 (February 12 th, 2008) Lecture notes (20080212 - Fur.pdf) Fur and hair Goldman s Fake Fur Rendering Shells and fins Banks BRDF for individual hairs Real-Time Rendering, section 7.1. Jerome Lengyel, Emil Praun, Adam Finkelstein, Hugues Hoppe. Real-Time Fur over Arbitrary Surfaces. In Proceedings of the 2001 Symposium on Interactive 3D Graphics I3D 01. ACM, New York, NY, pp 227-232. http://research.microsoft.com/~hoppe/fur.pdf John Isidoro, Jason Mitchell. User customizable real-time fur. In ACM SIGGRAPH 2002 Conference Abstracts and Applications. SIGGRAPH 02. ACM, New York, NY, pp 273-273. http://ati.amd.com/developer/siggraph02/siggraph2002_sketch-isidoro.pdf Programming assignment #3: Anisotropic BRDF (http://people.freedesktop.org/~idr/2008q1-vgp352/20080212_assignment.pdf) Week 7 (February 19 th, 2008) Lecture notes (20080219 - Nonphotorealistic Rendering.pdf) Non-photorealistic Rendering: Cel (toon) shading 7

Silhouette edge rendering Technical illustration Real-Time Rendering, sections 7.1 and 7.2. Adam Lake, Carl Marshall, Mark Harris, Marc Blackstein. Stylized Rendering Techniques for Scalable Real-Time 3D Animation. In Proceedings of the First International Symposium on Non-photorealistic Animation and Rendering (NPAR), pp 13-20. June 2000. http://softwarecommunity.intel.com/articles/eng/3085.htm Drew Card, Jason L. Mitchell. Non-Photorealistic Rendering with Pixel and Vertex Shaders in Engel Wolfgang (editor) ShaderX, Wordware Publishing, Inc., May 2002. http://ati.amd.com/developer/shaderx/ Week 8 (February 26 th, 2008) Lecture notes (20080226 - Procedural Textures, part 1.pdf) Procedural textures, part 1 Wang tiles Noise and noise based textures Li-Yi Wei. 2004. Tile-based texture mapping on graphics hardware. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware (Grenoble, France, August 29-30, 2004). HWWS 04. ACM, New York, NY, 55-63. http://graphics.stanford.edu/papers/tile_mapping_gh2004/ Term project: Fur shader or toon shader (http://people.freedesktop.org/~idr/2008q1-vgp352/20080226_assignment.pdf) Week 9 (March 4 th, 2008) Lecture notes (20080304 - Procedural Textures, part 2.pdf) Procedural textures, part 2 8

Guennadi Riguer, Natalya Tatarchuk, John Isidoro. Real-time Depth of Field Simulation, In ShaderX2, Wordware Publishing, Inc., October 25, 2003. http://ati.amd.com/developer/shaderx/ Week 10 (March 11 th, 2008) Lecture notes (20080311 - Post-processing.pdf) Texture rectangles Post-processing effects: Filters Separable filters Depth-of-field J. D. Mulder, R. van Liere. Fast Perception-Based Depth of Field Rendering, In Proceedings of the ACM Symposium on Virtual Reality Software and Technology (Seoul, Korea, October 22-25, 2000). VRST 00. ACM, New York, NY, 129-133. http://homepages.cwi.nl/~mullie/work/pubs/publications.html Week 11 (March 18 th, 2008) Final exam. TBD. Do not be late today! 9