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

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

CS 543: Computer Graphics. Introduction

Recall: Indexing into Cube Map

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

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Mathematics in Computer Graphics and Games. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

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

Computer Graphics Introduction. Taku Komura

CS451Real-time Rendering Pipeline

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

Computer Graphics 1 Instructor Information. Books. Graphics? Course Goals and Outcomes. Where are computer graphics? Where are computer graphics?

MMGD0206 Computer Graphics. Chapter 1 Development of Computer Graphics : History

Lecturer Athanasios Nikolaidis

CIS 581 Interactive Computer Graphics

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

3D GRAPHICS. design. animate. render

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

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

Introduction to Computer Graphics

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

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

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

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

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

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

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

CHAPTER 1 Graphics Systems and Models 3

Computer Graphics (CS 543) Lecture 9 (Part 2): Clipping. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics. Bing-Yu Chen National Taiwan University

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

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F.

Computer Graphics Fundamentals. Jon Macey

The Application Stage. The Game Loop, Resource Management and Renderer Design

Graphics Hardware. Instructor Stephen J. Guy

Painter s HSR Algorithm

Image Formation. Introduction to Computer Graphics. Machiraju/Zhang/Möller/Klaffenböck

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

Computer Graphics. Lecture 1 Introduction to Computer Graphics. Somsak Walairacht - Computer Engineering KMITL

Introduction. (Thanks to Professions Andries van Dam and John Hughes) CMSC 635 January 15, 2013 Introduction # /16

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

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

Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)

Pipeline Operations. CS 4620 Lecture 10

Development of Computer Graphics

INTRODUCTION COMPUTER GRAPHICS AND INTERACTION. Christopher Peters. CST, KTH Royal Institute of Technology, Sweden

CS5620 Intro to Computer Graphics

Graphics Hardware and Display Devices

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

CS 354R: Computer Game Technology

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Image Formation. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

CSE4030 Introduction to Computer Graphics

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

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

Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model

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

Computer Graphics (CS 563) Lecture 4: Advanced Computer Graphics Image Based Effects: Part 2. Prof Emmanuel Agu

INTRODUCTION COMPUTER GRAPHICS AND INTERACTION. Christopher Peters. CST, KTH Royal Institute of Technology, Sweden

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

Spring 2009 Prof. Hyesoon Kim

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

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

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

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

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

Overview. Computer Graphics CSE 167

INTRODUCTION. Slides modified from Angel book 6e

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

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

Computer Graphics and Visualization. What is computer graphics?

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

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

Graphics Processing Unit Architecture (GPU Arch)

Computer Graphics (CS 543) Lecture 8 (Part 1): Physically-Based Lighting Models

Topics and things to know about them:

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

Computer Graphics (CS 4731) OpenGL/GLUT(Part 1)

Computer Graphics (CS 543) Lecture 1 (Part 2): Introduction to OpenGL/GLUT (Part 1)

CS 543: Computer Graphics Midterm review. Emmanuel Agu

3D Production Pipeline

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

Mattan Erez. The University of Texas at Austin

Computer Graphics. Anders Hast. måndag 25 mars 13

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Introductionto ComputerGraphics

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

Shaders. Slide credit to Prof. Zwicker

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

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Goals. Course Staff. Demo: Surreal (HW 3) Entertainment. Foundations of Computer Graphics (Spring 2012) Why Study 3D Computer Graphics?

The Traditional Graphics Pipeline

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

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

CS 464 Review. Review of Computer Graphics for Final Exam

EF432. Introduction to spagetti and meatballs

About Computer Graphics

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Lecture 6 of 41. Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses

Transcription:

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

About This Course Computer graphics: algorithms, mathematics, data structures.. that computer uses to generate PRETTY PICTURES Techniques evolved over years, standardized into programmable libraries OpenGL: graphics library, open source! Future job: just program OpenGL (programmer s view) CS program: wants you to learn concepts, OpenGL Internals We shall combine: Programmer s view: Learn how to program parts OpenGL Under the hood: Learn how OpenGL is implemented, underlying algorithms, math, data structures (study OpenGL parts as concrete example)

About This Course Course about Computer Graphics Course is NOT just about programming OpenGL a comprehensive course in OpenGL. (Only select OpenGL parts will be covered) about using packages like Maya, Photoshop Class is concerned with: How to build graphics tools Underlying mathematics Underlying data structures Underlying algorithms This course is a lot of work. Requires: lots of coding in C/C++ Much more emphasis on shader programming than in past offerings Lots of math, linear algebra, matrices

Syllabus Summary 2 Exams (50%), 5 Projects (50%) Projects: Develop OpenGL code on any platform, one ray tracing project Final submission must run on CCC Linux machines May discuss projects, turn in individual projects Class website: http://web.cs.wpi.edu/~emmanuel/courses/cs543/f11/ Text: Interactive Computer Graphics: A Top Down Approach with Shader based OpenGL by Angel and Shreiner (6th edition). Cheating: Immediate F in the course Advice: Come to class Read the book Understand concepts before coding

Computer Graphics Background Started early 60s: Ivan Sutherland (MIT thesis) SIGGRAPH conference: started 1969, about 30,000 annually. E.g. summer 2006: Boston Attendees: artists, computer scientists, companies Computer Graphics has many aspects Computer Scientists create graphics libraries, tools, packages (e.g. Maya) Artists use CG tools/packages to create pretty pictures Most hobbyists follow artist path. Not much math!

Computer Graphics Tools CG tools: hardware and software tools Hardware tools Output devices: Video monitors, printers Input devices:mouse/trackball, pen/drawing tablet, keyboard Graphics cards/accelerators (GPUs) Software tools (low level) Operating system Editor Compiler Debugger Graphics Library (OpenGL)

Graphics Processing Unit (GPU) Initially, just hardcode graphics library onto chip, increase speed Powerful, inexpensive, Giga FLOPS arithmetic ability! Programmable: in last 8 years New operations just added. Possibility to apply to nongraphics application. Increasing precision Located either on the motherboard (Intel) or Separate graphics card (Nvidia or ATI)

Graphics Processing Unit (GPU) Either on motherboard or separate card On motherboard On separate card

Computer Graphics Libraries Functions/commands to draw line, circle, cube, etc Elaborate: pull down menus, 3D coordinate system, etc Previously device dependent Different OS => different graphics library Difficult to port (e.g. move program Windows to Linux) Error Prone Now device independent libraries APIs: OpenGL, DirectX, java3d Working OpenGL program easily moved from Windows to Linux, etc

Motivation for CG Pretty pictures Humans respond better to pictures than text Reasons you are studying CG? Better information presentation Job in computer graphics (games, movies, etc) Get a grade (one of required 4000 courses)?? Take advanced graphics or visualization course Do research in graphics

Uses of Computer Graphics Art, entertainment, publishing: movies, TV, books, magazines, games Courtesy: Madden NFL game

Uses of Computer Graphics Image processing: alter images, remove noise, super impose images Courtesy: Forrest Gump movie

Uses of Computer Graphics Process monitoring: Layout of large systems or plants Courtesy: Dataviews.de

Uses of Computer Graphics Display simulations: flight simulators, virtual worlds Courtesy: Evans and Sutherland

Uses of Computer Graphics Computer aided design: architecture, electric circuit design Courtesy: cadalog.com

Displaying Mathematical Functions E.g., Mathematica

Uses of Computer Graphics Scientific analysis and visualization: molecular biology, weather, matlab, Mandelbrot set Courtesy: Human Brain Project, Denmark

CG use example Biggest CG consumers today are Movies (Hollywood): animated movies and special effects Computer Games: e.g. Madden NFL Football 2011 Computer games now generate more billions than movies? Animated movies Example: Toy Story 3 (Trailer starts at 0:48) Game trailer Example: Final Fantasy XIV (Trailer starts at 0:25)

Elements of CG Polylines: connected straight lines (edges, vertices) Text: font, typeface Filled regions: colors, patterns Raster images: pixels have values (pixmap)

Polylines Polyline: connected sequence of straight lines blow-up

Polyline Attributes Color Thickness Stippling of edges (dash pattern)

Text Devices have: text mode graphics mode. Text mode: Text uses built in character generator Graphics mode: Text is drawn Text attributes: Font, color, size, spacing, and orientation. Little Text Big Text Rotated Text Shadow Text Outlined text SMALL CAPS

Filled Regions Filled region primitive is a shape filled with some color or pattern Example: polygons A B C D

Raster Images Raster image (picture) is made up of many small cells (pixels, for picture elements ), in different colors or grayscale. (Right: magnified image showing pixels.)

Framebuffer Dedicated memory location: draw in framebuffer shows up on screen Located either on CPU or GPU logical address x y scan controller y x geometric position at (639, 0) 0 639 0 x pixel at address [x,y] spot at (x,y) frame buffer at (639, 479) convert pixel value to color 479 y display surface

Types of Input Devices String: produces string of characters. (e.g keyboard) Valuator: generates number between 0 and 1.0 (e.g. knob) Locator: User points to position on display (e.g. mouse) Pick: User selects location on screen (e.g. touch screen in restaurant, ATM)

2D Vs. 3D 2D: Flat (x,y) color values on screen Objects no depth or distance from viewer 3D (x,y,z) values on screen Perspective: objects have distances from viewer

Creating 3D Start with 3D shapes (modeling) Basic shapes(cube, sphere, etc), meshes, etc Scale them (may also stretch them) Position them (rotate them, translate, etc) Then, add 3D effects to make scene look real Color and shading Shadows Texture mapping Fog Transparency and blending Anti aliasing Practical note: software packages for modeling and rendering can be purchased (Maya, 3D studio max, etc)

3D Modeling example: Robot Hammer A Robot Hammer! hammer lower arm base

3D Modeling example: Polygonal Mesh Original: 424,000 triangles 60,000 triangles (14%). 1000 triangles (0.2%) (courtesy of Michael Garland and Data courtesy of Iris Development.)

3D Effects example: Texturing

3D Effects example: Shadows

References Angel and Shreiner, Interactive Computer Graphics (6 th edition) Hill and Kelley, Computer Graphics using OpenGL (3 rd edition), Chapter 1