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

Similar documents
CIS 581 Interactive Computer Graphics

Some Resources. What won t I learn? What will I learn? Topics

CSE4030 Introduction to Computer Graphics

Lecturer Athanasios Nikolaidis

CS451Real-time Rendering Pipeline

CSCD18: Computer Graphics. Instructor: Leonid Sigal

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

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

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

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

3D GRAPHICS. design. animate. render

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

EF432. Introduction to spagetti and meatballs

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?

CS 418: Interactive Computer Graphics. Introduction. Eric Shaffer

EF432. Introduction to spagetti and meatballs

Computer Graphics Introduction. Taku Komura

Lahore University of Management Sciences. CS 452 Computer Graphics

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

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

CSCE 441 Computer Graphics Fall 2018

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

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

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

Welcome to CS 4/57101 Computer Graphics

CS535: Interactive Computer Graphics

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

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

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

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

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

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

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

Lahore University of Management Sciences. CS 452 Computer Graphics

Spring 2009 Prof. Hyesoon Kim

Introduction to Computer Graphics with WebGL

CS 428: Fall Introduction to. Realism (overview) Andrew Nealen, Rutgers, /11/2009 1

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

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

Computer Graphics: Programming, Problem Solving, and Visual Communication

Rasterization Overview

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

Overview. Computer Graphics CSE 167

Development of Computer Graphics

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

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

Spring 2011 Prof. Hyesoon Kim

Graphics Hardware and Display Devices

Models and Architectures

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

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

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

Culling. Computer Graphics CSE 167 Lecture 12

Manipal Institute of Technology Manipal University Manipal

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

Graphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University

Texture mapping. Computer Graphics CSE 167 Lecture 9

Topics and things to know about them:

Animation & Rendering

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

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

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

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

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

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

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

CSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CS 354R: Computer Game Technology

Development of Computer Graphics. mid 1950s SAGE air defense system command & control CRT, light pens

Instructor. Goals. Image Synthesis Examples. Applications. Foundations of Computer Graphics. Why Study 3D Computer Graphics?

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

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

Computer Graphics I Lecture 11

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

Foundations of 3D Graphics Programming

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

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Level of Details in Computer Rendering

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

CSC Graphics Programming. Budditha Hettige Department of Statistics and Computer Science

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

Computer Graphics Shadow Algorithms

Introduction to Computer Graphics. Overview. What is Computer Graphics?

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

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

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

Photorealism vs. Non-Photorealism in Computer Graphics

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

Overview: Ray Tracing & The Perspective Projection Pipeline

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Graphics and Interaction Rendering pipeline & object modelling

Computer Graphics. CS52 Winter computer graphics introduction 2008 fabio pellacini 1. introduction

Department of Computer Engineering 3D Graphics in Games and Movies

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

Graphics Hardware. Instructor Stephen J. Guy

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

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

Transcription:

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Instructor: Rick Parent (parent@cse.osu.edu) Credit: 4 Class: MWF 10:30 11:18 pm DL357 Office hours: MW 11:30 12:18 DL 787 Class information on Carmin: www.carmen.osu.edu Prerequisite: CSE 222 or 230 or 502 Requirements Interested in Computer Graphics Capable in C/C++ programming g Comfortable with basics of linear algebra (vector and matrix calculations) or be able to pick it up easily Textbook Interactive Computer Graphics, A Top-Down Approach Using OpenGL by Edward Angel, 5 th edition Reference Books Very easy to read! Help you to understand the lectures and prepare for exams Many OpenGL examples in C Not 6 th Edition; 4 th should be OK The red book OpenGL programmer s Guide The blue book OpenGL reference manual Not required or even recommended, unless you really expect to program in OpenGL beyond this class (e.g. games) 1

Grading - Five Labs: 50 % 2D and 3D drawing transformation, lighting, texture mapping, etc. - Midterm Exam: 20 % - Final Exam: 30% What is Computer Graphics? Computer-generated images or sequences of images (i.e., animations, movies) The scientific study of techniques and methods for generating such images Not simply trying for photorealism! Painterly effects Sketches, toon shading etc Some 3D Computer Graphics Applications Manufacturing design (CAD) Movies, TV, commercials Animations Special effects mixed with live footage Visual arts Video games Scientific visualization Simulation of natural phenomena What will I learn from this course? A basic understanding of graphics hardware/software technology algorithms and jargon Learn how to use OpenGL to write 2D/3D drawing programs Prepare yourself for advanced graphics topics (CIS 681, 781, 782, ) 2

Some Jargon Graphics Processor (GPU) What about it? nvidia/ati Graphics Chips 32-bit colors, Z/stencil buffer Advanced Per-pixel lighting 50 million triangles per second OpenGL programming An industry standard API This is NOT just a API course You are expect learn the graphics processing pipeline and the theory behind You don t need to implement the algorithms. Instead, use OpenGL Labs Official programming environment 5 Labs 50% of your grade Lab1: Lab Examples Make sure you can write, compile, run, and submit simple OpenGL program on class machines Don t get behind on the labs! Can be hard to debug incremental development 3

Lab Examples (continued) Lab Examples (cont d) Lab2: Learn how to create an OpenGL window (using GLUT) Learn how to draw simple 2D primitives (lines, triangles, polygons etc) Lab3: perspective view display lists simple illumination camera control by mouse movement hierarchical animation Learn how to process mouse input Lab4: illumination material properties decals Lab Examples (cont d) Lab5: texture mapping Transparent surfaces billboarding first person view Lab Examples (cont d) 4

Graphics Pipeline Modeling Illumination Viewing Clipping Transformation Transformation Display Projection Rasterization from M. Woo et al., 1997 Scene Geometry Object Modeling How to specify the 3-D positions of the camera and the scene objects and their various parts, how to project these to 2-D image locations, and how to represent trans- formations of these positions How to set individual image pixels corresponding to projected geometric objects such as points, lines, polygons, and more complicated shapes. Anti-aliasing reduces artifacts ( jaggies ) caused by finite image resolution 5

How to model light interaction with 3-D surfaces with varying material properties in order to calculate the proper colors perceived by the eye at different image locations How to efficiently rasterize only the visible parts of scene objects How to apply layers of detail to scene objects to show features, simulate bumps and reflections, or other precomputed shading effects. Procedural texturing is concerned with how some kinds of textures are generated algorithmically Brown et al, OSU How to efficiently represent the geometry of scene objects, which may be complex, curved, etc. (CSE 784, CSE682) 6

Chen et al, OSU How to render dynamic scenes, as well as how to simulate dynamic phenomena (CSE 682, CSE 683) Handler, OSU How to realistically simulate the movement of rays from light sources through multiple object reflections and refractions on the way to the eye (CSE 681) Gao et al, OSU How to realistically simulate inter-reflections of light between multiple sources and object surfaces (CSE 782) CSE 781 will cover these in more detail with the focus on programmable GPU s and real-time game engine design. Parmelee and Ruston, OSU 7

Graphics Courses Graphics Courses (Autumn) CSE 581 (Au,Sp) CSE 681 (Au,Wi) CSE 781 (Wi) CSE 581 (Au,Sp) CSE 681 (Au,Wi) CSE 682 (Wi) CSE 781 (Wi) CSE 682 (Wi) CSE 784 (Sp) CSE 784 (Sp) CSE 782 (Au) CSE 782 (Au) Graphics Courses (Winter) Graphics Courses (Spring) CSE 581 (Au,Sp) CSE 681 (Au,Wi) CSE 781 (Wi) CSE 581 (Au,Sp) CSE 681 (Au,Wi) CSE 682 (Wi) CSE 781 (Wi) CSE 682 (Wi) CSE 784 (Sp) CSE 784 (Sp) CSE 782 (Au) CSE 782 (Au) 8

Where do I do my labs? Image Gallery Graphics PC Lab CL 112D Each PC has decent graphics card Software: Visual Studio 2010 OpenGL/Glut Develop anywhere, but submit source code (.c or.cpp files) that compile and run on CL112D environment. 9