Computer Graphics. Anders Hast

Similar documents
Introduction to Computer Graphics

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

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

Lecture Notes, CEng 477

Introduction Week 1, Lecture 1

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

OpenGL & Delphi. Max Kleiner. 1/22

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

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

How To Teach Computer Graphics

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

CS 325 Computer Graphics

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

Computer Graphics Hardware An Overview

Introduction to Computer Graphics Techniques and Applications. Hong Qin Center for Visual Computing (CVC) Stony Brook University

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

Graphics Input Primitives. 5. Input Devices Introduction to OpenGL. String Choice/Selection Valuator

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Masters of Science in Software & Information Systems

A Short Introduction to Computer Graphics

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

INTRODUCTION TO RENDERING TECHNIQUES

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

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

COMPUTER GRAPHICS Computer Graphics

Introduction to Computer Graphics. Reading: Angel ch.1 or Hill Ch1.

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

Institution : Majmaah University. Academic Department : College of Science at AzZulfi. Programme : Computer Science and Information Course :

Aston University. School of Engineering & Applied Science

L20: GPU Architecture and Models

Introduction to Computer Graphics

Fundamentals of Computer Graphics

Computer Graphics. Introduction. Aleksandra Pizurica. Ghent University

Image Synthesis. Transparency. computer graphics & visualization

Two Research Schools become ONE

TEACHING GRAPHICS PROGRAMMING ON MOBILE DEVICES

Computer Graphics on Mobile Devices VL SS ECTS

CPIT-285 Computer Graphics

GPU Architecture. Michael Doggett ATI

Interactive Computer Graphics

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

1. INTRODUCTION Graphics 2

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Introduction Week 1, Lecture 1

Lezione 4: Grafica 3D*(II)

3D Computer Games History and Technology

Visualizing Data: Scalable Interactivity

QCD as a Video Game?

Introduction to GPGPU. Tiziano Diamanti

OpenGL Performance Tuning

Computers in Film Making

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

Lecture 3: Models of Spatial Information

Advanced Rendering for Engineering & Styling

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

Adding Animation With Cinema 4D XL

SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE

Teaching Introductory Computer Graphics Via Ray Tracing

CAD and Creativity. Contents

Course Syllabus. Tuesday 4 pm to 5 pm & Thursday 4 to 5 pm

Touchstone -A Fresh Approach to Multimedia for the PC

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Radeon HD 2900 and Geometry Generation. Michael Doggett

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

Certificate Courses in Animation

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

How To Learn To Program In Csc 406 Computer Graphics

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)

Realtime 3D Computer Graphics Virtual Reality

Carleton University School of Computer Science COMP Computer graphics Fall 2015

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Computer Graphics AACHEN AACHEN AACHEN AACHEN. Public Perception of CG. Computer Graphics Research. Methodological Approaches

Game Design From Concepts To Implementation

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology

Step 2: Paint Your Model

CS 378: Computer Game Technology

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Computer Graphics and Visualization in a Computational Science Program

CS 4810 Introduction to Computer Graphics

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 1 September 5, 2011

A Crash Course on Programmable Graphics Hardware

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy

Introduction to Computer Graphics

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

The Future Of Animation Is Games

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

Interactive Visualization of Magnetic Fields

NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality

DIABLO VALLEY COLLEGE CATALOG

BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality

Introduction to GPU Programming Languages

Introduction to Graphics Software Development for OMAP 2/3

Transcription:

Computer Graphics Anders Hast

Who am I?! 5 years in Industry after graduation, 2 years as high school teacher.! 1996 Teacher, University of Gävle! 2004 PhD, Computerised 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 2120 " +46 18-471 2829 " www.cb.uu.se/~aht " anders.hast@it.uu.se

The others in the Team! Filip Malmberg " Teacher " All labs, assignments and project " Located at Centre for Image Analysis, building 2, Room 2109! Fredrik Nysjö " Teacher " All labs, assignments and project " Located at Centre for Image Analysis, building 2 Room 2103! Kristina & Tomas " All labs

Formalities! Did you register? " www.antagning.se! 3 Mandatory Assignments! 1 Mandatory Project! 1 Exam (5 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 " Computers " 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 polygon-based 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, again! :) " Interesting & inspiring!! Nothing special changed for this year except that Fredrik has taken over from Stefan! Ingrid will give her special lecture for the last time? Take the chance to come!!

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 channel) " 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 teapoat) 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 " Clipping " 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 around with OpenGL! " Make your own Game!?