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

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

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

CSC 8470 Computer Graphics. What is Computer Graphics?

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

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

CIS 581 Interactive Computer Graphics

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

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

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

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

Computer Graphics Introduction. Taku Komura

Development of Computer Graphics

Geometry Primitives. Computer Science Department University of Malta. Sandro Spina Computer Graphics and Simulation Group. CGSG Geometry Primitives

CS451Real-time Rendering Pipeline

Lahore University of Management Sciences. CS 452 Computer Graphics

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

CHAPTER 1 Graphics Systems and Models 3

CSE 167: Introduction to Computer Graphics Lecture #5: Visibility, OpenGL

Lecturer Athanasios Nikolaidis

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

Computer graphic -- Programming with OpenGL I

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

Lahore University of Management Sciences. CS 452 Computer Graphics

Course Title: Computer Graphics Course no: CSC209

Assignment 1. Simple Graphics program using OpenGL

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

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

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

3D GRAPHICS. design. animate. render

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

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

Introduction to Computer Graphics with WebGL

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

Rendering. Part 1 An introduction to OpenGL

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 2: First Program

The Traditional Graphics Pipeline

ERKELEY DAVIS IRVINE LOS ANGELES RIVERSIDE SAN DIEGO SAN FRANCISCO EECS 104. Fundamentals of Computer Graphics. OpenGL

OpenGL. Jimmy Johansson Norrköping Visualization and Interaction Studio Linköping University

2D Drawing Primitives

Graphics Hardware. Instructor Stephen J. Guy

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

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

Lecture 4 of 41. Lab 1a: OpenGL Basics

Institutionen för systemteknik

The Traditional Graphics Pipeline

Computer Graphics 1, Fall 2005

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

Models and Architectures

Introduction to OpenGL

COMP 371/4 Computer Graphics Week 1

CSE4030 Introduction to Computer Graphics

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

Programming with OpenGL Part 2: Complete Programs Computer Graphics I, Fall

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

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

Graphics and Interaction Rendering pipeline & object modelling

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

The Traditional Graphics Pipeline

3D Graphics and OpenGl. First Steps

Luiz Fernando Martha André Pereira

Overview. Computer Graphics CSE 167

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

CSE 167: Introduction to Computer Graphics Lecture #5: Illumination Model

Graphics Pipeline & APIs

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

Graphical systems, visualization and multimedia

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

OpenGL. Toolkits.

Computer Graphics Coursework 1

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

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

Pipeline Operations. CS 4620 Lecture 14

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

Animation & Rendering

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

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

Computer Graphics. Chapter 3 Computer Graphics Software

Spring 2009 Prof. Hyesoon Kim

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

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

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

CS 130 Final. Fall 2015

API for creating a display window and using keyboard/mouse interations. See RayWindow.cpp to see how these are used for Assignment3

Graphics Pipeline & APIs

Spring 2011 Prof. Hyesoon Kim

To Do. Computer Graphics (Fall 2008) Course Outline. Course Outline. Methodology for Lecture. Demo: Surreal (HW 3)

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

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

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

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

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

Programming of Graphics

C O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

OPENGL AND GLSL. Computer Graphics

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

Graphics Hardware and Display Devices

Lecture 2. Shaders, GLSL and GPGPU

Transcription:

Computer Graphics Anders Hast

Who am I? 5 years in Industry after graduation, 2 years as highschool teacher. 1996 Teacher, University of Gävle 2004 PhD, Computerized Image Processing Computer Graphics 2007 Application Expert in Visualisation (UPPMAX) 2010 Docent 2011 ERCIM Fellow, IIT, CNR, Pisa, Italy 2012 Associate Professor, Uppsala University Department of Information Technology MIC building 2, floor 1, room 2112 +46 18-471 2829 www.cb.uu.se/~aht anders.hast@it.uu.se

The others in the Team Pontus Olsson Teacher, assisting Johan All laborations, assignments and project Located at Centre for Image Analysis, building 2, Room 2111 Johan Nysjö Teacher, assisting Pontus All laborations, assignments and project Located at Centre for Image Analysis, building 2 Room 2103

Formalities Did you register? www.antagning.se 4 Mandatory Assignments 1 Exam (3 hours) Course book Angel: Interactive Computer Graphics: A top-down approach with OpenGL

What CG? It is concerned with all aspects of producing pictures or images using a computer. - E. Angel a branch of computer science, which has attracted some of the most creative people in the world to its fold. They come from all disciplinesart, science, music, dance, film making and many others - Foley et. al

What can it be used for? Display of information Visualisations etc... Interfaces Compuers Cell Phones Hand held devices Entertainment Games Films

Graphics in Movies TRON First 3D shaded graphics in a Hollywood film

http://www.youtube.com/watch?v=qxbwcrzwjo4 Special Effects 1983 ILM computer graphics division develops "Genesis effect" for Star Trek II - The Wrath of Khan Text

Many Areas make use of it Visualisation Image Processing Computer Vision Scientific Visualisation Cartography GIS CAD Special Effects (Film)

Visualisation 2D 3D Charts and Diagrams Volumes Polygon Models

Image Processing Extracts information from images or volumes Produces 2D Images 3D objects Haptics

Computer Vision Feature Matching Tracking 3D Reconstruction

Cartography 2D 3D

GIS Combining Maps Information

CAD Computer Aided Design

Special Effects Special effects often needs special tools Because they are special effects! Therefore it was necessary to create this tool from scratch

What we will Learn How lines are drawn, surfaces painted, etc How to use graphic function libraries (OpenGL) How to give 3D impression on a 2D display Create 3D model worlds and display them What colour, resolution etc means in an Image In what order things are done (graphics pipeline) How to program graphics hardware shaders These things will be covered in 3 practicals (labbar) and one Project

What YOU are expected to know already: C or C++ Data structures (arrays, linked lists) Geometry Linear algebra (matrices) You are responsible for your studies - lecture notes is only a part of the whole

Course Syllabus (outcomes) describe the data flow in a graphics rendering system; use matrix algebra in computer graphics applications; implement fundamental algorithms and transformations involved in viewing models, projection models, illumination models and the handling of hidden surfaces in polygonbased computer graphics; describe effects such as texture mapping, bump mapping and antialiasing; describe curves and surfaces that can be represented by splines; use the OpenGL API with C++ in 3D graphics programming; program GPU hardware, so called shader programming;

Contents (Syllabus) The graphics pipeline. Colour systems. Geometrical objects. Matrix algebra for transformations, projections and coordinate systems in 2D and 3D. Clipping and hidden surface removal. Lighting models for polygon based graphics. Rasterization. Line drawing. Polygon filling. Texture mapping and bump mapping. Global rendering. Low level graphics libraries for 3D programming (OpenGL). Shader programming on GPU.

Evaluation of last years course Students were very pleased with last years course :) Interesting & inspiring! However, they thought there was too little time to do the last lab However that lab is a project It s a 10hp Course after all...

Images Spatial Resolution A modern computer display (1980x1080) pixels Pixel = Picture Element Colour Depth The number of bits used to represent the colour of a single pixel True Colour 24 bit (8 bit per colour chanel) 3 Colour Channels: R,G,B

Raster Graphics Image produced as an array (the raster) of picture elements (pixels) in the frame buffer

History 70 s University of Utah Sutherland, Blinn, Phong, Guoraud, Catmull, Newell (the tepoat) and others. The fundamentals of CG 80 s Graphical User Interfaces Macintosh,Amiga Graphics in Movies

http://www.youtube.com/watch?v=rpv1dqo_rwe History 90 s Image Based Rendering Toy Story Special Effects 00 s GPU s 10 s Fusion with Image Processing and Computer Vision

Some things you will learn Transformations Shading Illumination Mapping Graphics Pipeline

Transformations Affine

Shading Gouraud Phong

Illumination The Phong Illumination Equation

Mapping Techniques Texture mapping Bump mapping Environment mapping Geometry mapping Normal mapping

Graphics Pipeline The input is the objects and its vertices The output are pixels on the screen Performs Transformations Clippping Shading and illumination texturing, etc

Splines The Utah Teapot is made by Bezier Splines

OpenGL stands for Open Graphics Library. It is a specification of an API for rendering graphics, usually in 3D. OpenGL implementations are libraries that implement the API defined by the specification. Graphics cards usually have an OpenGL implementation. Because the OpenGL specification is not platform-specific, it is possible to write an application that will be possible to use against many different types of graphics cards. It also increases the chance that the application will continue to work when new hardware will become available. http://www.opengl.org/wiki/faq

What is it? OpenGL is an open specification. Latest version 4.3 (2012) describes the interface the programmer uses and expected behavior. There is an implementation of GL that is Open Source and it is called Mesa3D http://www.mesa3d.org Its announcing itself as OpenGL 2.1 compliant.

Coordinate System The negative Z-axis is in front of you

Code Example A Triangle 3 coordinates (float) glbegin(gl_triangles); glvertex3f(-1.0f, -0.5f, -4.0f); glvertex3f( 1.0f, -0.5f, -4.0f); glvertex3f( 0.0f, 0.5f, -4.0f); glend(); Note the API-calls!

More Pimitives GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP GL_POLYGON

OpenGL 2D Graphics 3D Graphics Shading & Illumination Projections Clipping Texture Mapping And a lot more!

Programmable Shaders OpenGL in software is relatively slow Phong shading is not supported (was invented in the mid 70 s!! Phong Shading is easy to implement using shaders Shaders are FAST!

The End Remember to Study the chapters in the textbook Prepare for practicals Play arround with OpenGL! Make your own Game!?