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

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

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

CHAPTER 1 Graphics Systems and Models 3

CSE4030 Introduction to Computer Graphics

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

Pipeline Operations. CS 4620 Lecture 10

Rasterization Overview

CIS 581 Interactive Computer Graphics

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

CSCE 441 Computer Graphics Fall 2018

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

6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, :40-4pm One hand-written sheet of notes allowed

- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr

Computer Graphics CS 543 Lecture 1 (Part I) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

CS451Real-time Rendering Pipeline

Welcome to COMP 770 (236) Introduction. Prerequisites. Prerequisites

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

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

Computer Graphics: Programming, Problem Solving, and Visual Communication

Lahore University of Management Sciences. CS 452 Computer Graphics

CS 464 Review. Review of Computer Graphics for Final Exam

Graphics Hardware. Instructor Stephen J. Guy

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

Shaders. Slide credit to Prof. Zwicker

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

CS535: Interactive Computer Graphics

The Traditional Graphics Pipeline

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

Models and Architectures

PROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

The Rasterization Pipeline

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

COMP environment mapping Mar. 12, r = 2n(n v) v

Introduction to Computer Graphics with WebGL

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

Computer Graphics and Visualization. What is computer graphics?

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

Lahore University of Management Sciences. CS 452 Computer Graphics

Ciril Bohak. - INTRODUCTION TO WEBGL

Computer Graphics Introduction. Taku Komura

Overview. Computer Graphics CSE 167

CS452/552; EE465/505. Clipping & Scan Conversion


3D Rendering Pipeline

The Traditional Graphics Pipeline

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Module 13C: Using The 3D Graphics APIs OpenGL ES

TSBK03 Screen-Space Ambient Occlusion

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

lecture 18 - ray tracing - environment mapping - refraction

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

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

CS4620/5620: Lecture 14 Pipeline

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

CS4621/5621 Fall Computer Graphics Practicum Intro to OpenGL/GLSL

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

- Rasterization. Geometry. Scan Conversion. Rasterization

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

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

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

CSC 8470 Computer Graphics. What is Computer Graphics?

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

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

Animation Essentially a question of flipping between many still images, fast enough

Overview. Computer Graphics CS324. OpenGL. Books. Learning Resources. CS131 Notes. 30 Lectures 3hr Exam

CS 354R: Computer Game Technology

VTU QUESTION PAPER SOLUTION UNIT -1 INTRODUCTION

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

The Graphics Pipeline

Luxo Jr. Plan. Team. Movies. Why Computer Graphics? Introduction to Computer Graphics. Pixar Animation Studios, 1986 Director: John Lasseter

3D graphics, raster and colors CS312 Fall 2010

3D GRAPHICS. design. animate. render

The Traditional Graphics Pipeline

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

Topics and things to know about them:

CS GAME PROGRAMMING Question bank

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling

Computer Graphics ( /657) Prof. Misha Kazhdan

CS5620 Intro to Computer Graphics

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology

Chapter 7 - Light, Materials, Appearance

CSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015

Foundations of 3D Graphics Programming

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Rendering Objects. Need to transform all geometry then

Course Title: Computer Graphics Course no: CSC209

Interpolation using scanline algorithm

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

3D Production Pipeline

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

Spring 2009 Prof. Hyesoon Kim

Introduction. What s New in This Edition

Transcription:

Computer Science 175 Introduction to Computer Graphics www.fas.harvard.edu/ lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba Instructor: Steven shlomo Gortler www.cs.harvard.edu/ sjg sjg@cs.harvard.edu office: md 243 teaching assistants: Duligur Ibeling duligur@gmail.com textbook Foundations of 3D Computer Graphics, S.J. Gortler Not required, but is a good mirror of the course. web has resources on OpenGL/GLSL syntax prerequisites ability to program in C (multi-hundred line program) we will use C++, but will help get you up to speed some familiarity with linear algebra warnings you will need to use computers that support programmable shaders most of the assignments will build off each other much of the opengl gobbledygook will be given as a black box. I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig) I don t capitalize or spell well. graded work 7 programming assignments two written assignments one weekers due (mostly) at mondays at 11:59pm unit per program 1 final project 1.5 units participation late policy 1 unit or so programs due on midnight 1

you have 5 free days to use as you wish up to one day late: -15% up to two days late: -30% after two days late: 0% we will optimize late penalties/free days at the end. Standards you can work/submit in pairs if you wish you can change this arrangement for each asst. you should not look at code from other groups you should not discuss written assts with other groups we will use Piazza platforms for class windows visual studio to get a free copy send email to holloway@eecs.harvard.edu mac linux (less support from us). must have recent generation graphics card that support vertex and fragment shaders first assignment will get this worked out lets look at the assignments 1: hello world opengl, 2: written: transforms 3: 3d viewer 4: arcball 5: written: projection 6: robots and picking 7: linear keyframe animator 8: smooth keyframe animator 9: fur 10: final project applications: entertainment video games special effects animation virtual world interactions 2

computer aided design car bodies architectural environments simulation flight simulators surgical simulators 3D visualization medical scan imagery fluid flow syllabus we understand how to work on top of opengl we will understand what is happening inside of opengl topics getting started with opengl coordinate systems and transforms quaternions and arcball camera projections rasterization process scene graphs color theory interpolation and splines for key frame animation overview of more advanced computer animation overview of more advanced geometric modeling subdivision surfaces image reconstruction and filtering (dots) shading and shadows ray tracing (probably not) pipeline demo basic representation of object starts with a collection of triangles but we will have a very simple scene, but this is very general (cat). each triangle is described by 3 vertices each vertex is described by (x,y,z) coordinates other information is attached to each vertex color, normal vector, squirrel pointer each triangle is processed in turn each vertex is processed in turn 3

positioned in image all pixels within the triangle determined are such pixels colored using the data from the vertices blend step is involved here a merge step for a triangle s pixel is run to determine if its color updates the image or not. lets follow the real time pipeline basic representation of object starts with a collection of triangles (fig) each triangle is described by 3 vertices each vertex is described by (x,y,z) coordinates other information is attached to each vertex color, normal vector this data is called attribute data. this data is passed (once) to OpenGL and stored in a vertex buffer later we can make an OpenGL draw call vertex processing after a draw call each vertex (set of attributes) is passed through a vertex shader that you write and load into opengl. shader also has access to uniform variables that you set typically does geometric transformations on the vertex coordinates to place the objects correctly with respect to each other and the eye to get perspective effect output position as gl Position as well as user defined varying variables fixed function 3 vertices for each triangle are collected by the assembler triangles vertices are positioned with in the window triangles are rasterized which pixel are inside the triangle varying variable data (color, normal, texture coordinates) are appropriately interpolated for each pixel pixel processing information for each dot is sent through a fragment shader that you write and load into opengl figures out final output color of the pixel from the interpolated data outputs a color for the screen typically simulates material reflection (demo) how did i get flat vs smooth also can look up data in a texture image (fig) pointers into the texture are done using varying variables called texture coordinates 4

adds visual complexity merging decide whether to write into framebuffer looks at data already there main thing: depth test. (recall the demo) also alpha blending (transparency) 5