How To Teach Computer Graphics



Similar documents
Introduction to Computer Graphics

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

Computer Graphics Hardware An Overview

Lecture Notes, CEng 477

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

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

CPIT-285 Computer Graphics

How To Learn To Program In Csc 406 Computer Graphics

Computer Graphics. Anders Hast

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

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

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Computer Graphics on Mobile Devices VL SS ECTS

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

Optimizing AAA Games for Mobile Platforms

Color correction in 3D environments Nicholas Blackhawk

L20: GPU Architecture and Models

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

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

CS 4810 Introduction to Computer Graphics

Low power GPUs a view from the industry. Edvard Sørgård

CSCD18: Computer Graphics

INTRODUCTION TO RENDERING TECHNIQUES

TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

GPU Architecture. Michael Doggett ATI

CS 378: Computer Game Technology

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

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

Introduction to Computer Graphics

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

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

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

CSE452 Computer Graphics

Programming 3D Applications with HTML5 and WebGL

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

A Short Introduction to Computer Graphics

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

ICS : 435. Computer Graphics Applications. Instructor : Da'ad Albalawneh

Experiences with 2-D and 3-D Mathematical Plots on the Java Platform

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

The Future Of Animation Is Games

Writing Applications for the GPU Using the RapidMind Development Platform

3D Computer Games History and Technology

DIPLOMA IN 3D DESIGN AND DIGITAL ANIMATION COURSE INFO PACK

JavaFX Session Agenda

Introduction Week 1, Lecture 1

Web Based 3D Visualization for COMSOL Multiphysics

Understand career planning in a digital media environment.

Developer Tools. Tim Purcell NVIDIA

TEACHING GRAPHICS PROGRAMMING ON MOBILE DEVICES

GPGPU Computing. Yong Cao

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

Introduction to Computer Graphics

How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)

Chapter 6 - The Scene Graph

Java game programming. Game engines. Fayolle Pierre-Alain

Carleton University School of Computer Science COMP Computer graphics Fall 2015

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

CAD and Creativity. Contents

Chapter 2 - Graphics Programming with JOGL

Fundamentals of Computer Graphics

Video Game Programming ITP 380 (4 Units)

How To Complete The College Readiness Math Mooc

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

BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university

Introduction to GPGPU. Tiziano Diamanti

Computer Graphics. Introduction. Aleksandra Pizurica. Ghent University

CS 325 Computer Graphics

GAME DESIGN AND DEVELOPMENT TECHNOLOGY. Game Design and Development Technology I

1. INTRODUCTION Graphics 2

Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg

Games Development Education to Industry. Dr. Catherine French Academic Group Leader Games Programming, Software Engineering and Mobile Systems

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE

Computer Graphics ( / ) Prof. Misha Kazhdan misha@cs.jhu.edu

OctaVis: A Simple and Efficient Multi-View Rendering System

Water Flow in. Alex Vlachos, Valve July 28, 2010

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

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

How To Develop For A Powergen 2.2 (Tegra) With Nsight) And Gbd (Gbd) On A Quadriplegic (Powergen) Powergen Powergen 3

CSC 425 Computer Graphics and Games

Using 3D Computer Graphics Multimedia to Motivate Teachers Learning of Geometry and Pedagogy

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

OpenGL Performance Tuning

Dynamic Digital Depth (DDD) and Real-time 2D to 3D conversion on the ARM processor

Computer Science Information Sheet for entry in What is Computer Science?

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

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

GPU Renderfarm with Integrated Asset Management & Production System (AMPS)

QCD as a Video Game?

Finger Paint: Cross-platform Augmented Reality

Transcription:

Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session

General Introduction http://www.cs.vu.nl/~graphics/ 2 (Lecture 1)

The Course in a Nutshell (1) Lecture period: October 29 - December 13 Monday: 15:30 17:15; Room: S3.29 Thursday: 11:00 12:45; Room: S3.29 Book: E. Angel/D. Shreiner Interactive Computer Graphics, 6th ed. (new!!!) Get it from STORM or the VU Boekhandel Grading: Homework (1/4) and assignment / project (3/4) Both parts must be graded sufficient 3 (Lecture 1)

The Course in a Nutshell (2) New book: 6th edition Radical switch from OpenGL 2.x to OpenGL 3.x: State-of-the-art in graphics/games programming All rendering becomes explicit, no more black boxes This takes more effort (worth it, we hope!) http://http.download.nvidia.com/nvision2008/jamie_adam/art_science_gpu_480p.mp4 4 (Lecture 1)

The Course in a Nutshell (2) Lecturer: Thilo Kielmann (kielmann@cs.vu.nl) Course Assistant (also for assignment / project): Ben van Werkhoven (ben@cs.vu.nl) Guest Lecture: Tom van der Schaaf 5 (Lecture 1)

The Course in a Nutshell (3) Lectures (period 2): Part presentation of course material Part hands-on session Programming on Windows PCs in S3.29 Using your own laptop/pc is strongly encouraged Needs to support OpenGL 3.x (or higher) Check out on the course Web site ( Material ) Assignment / Project (period 2 + 3): Programming in Java with OpenGL (note: book uses C/C++) Web: Course information: http://www.cs.vu.nl/~graphics/ Blackboard: http://bb.vu.nl/ 6 (Lecture 1)

Registration & Dates Registration (mandatory): Via the VUnet portal For the course Dates: Assignment / Project: submit no later than Febuary 1, 2013 (no extensions will be given) Homework assignments: will be announced soon 7 (Lecture 1)

Homework Assignments Instead of written exam: 3 homework assignments during the course submit via blackboard slack days: 8 (Lecture 1) you have a total of 5 days credit for late submission (spend them wisely!) each calendar day beyond your credits subtracts 1 from the assignment's grade

Grades for the Course H = average grade of three homeworks P = project grade Score = H *1/4 + P * 3/4 Passing requirements: H > 5.0, P > 5.0, Score >= 6.0 Exam from 2011 (or older) good for H Project from 2011 (or older) good for P 9 (Lecture 1)

General Overview 10 (Lecture 1)

And now: Computer Graphics! What is Computer Graphics? generation/representation and manipulation of pictorial data by a computer Mostly: image generation on the basis of (mathematical) models or other data Related - but not identical - to Digital Image Processing Mostly: image content adaptation and/or analysis of image content 11 (Lecture 1)

Where do we find Computer Graphics? Display of information Scientific Visualization, Design Computer-Aided Design, Simulation and Animation Virtual Reality, Games, User Interfaces Windowing Systems, but today maybe no longer in 2D 12 (Lecture 1)

How we will do it (course outline 1/6) Introduction Lecture01: General overview & Graphics Systems (today) Graphics Programming Lecture02: Basic OpenGL, Shaders in a Nutshell Lecture03: Input, Events, 3D Graphics 13 (Lecture 1)

How we will do it (course outline 2/6) Geometric Objects and Transformations Lecture04: Basics of Coordinate Systems / Affine Transformations Lecture05: Rotation / Translation / Scaling / Shear, 14 (Lecture 1)

How we will do it (course outline 3/6) Start of programming project Viewing, Lighting, Shading (+/- 20 Nov) Lecture06/07: Camera Positioning / Projections 15 (Lecture 1) Lecture08: Light and Matter

How we will do it (course outline 4/6) Modeling and Hierarchy 16 (Lecture 1) Lecture09: Trees, Scene Graphs

How we will do it (course outline 5/6) From Vertices to Fragments Lecture10: Geometry Processing, Rasterization, Clipping, Discrete Techniques Lecture11: Texture Mapping, Texture and Shaders 17 (Lecture 1)

How we will do it (course outline 6/6) Advanced Topics Lecture12: Terrain Generation / Height Maps Guest lecture (13) Tom van der Schaaf Open session (Lecture 14) Post processing General Q&A session 18 (Lecture 1)

How many scientists do it Example: 19 (Lecture 1)

How the big guys do it Sintel (Blender Foundation, 2010) Movie (Youtube) Making of (Youtube) Focus on the project, the artists, story writing... 20 (Lecture 1)

How the (really) big guys do it Pixar Website: http://www.pixar.com/behind_the_scenes 21 (Lecture 1)

How the big guys do it Realize: Huge group of artists, animators, CG specialists, Huge set of high-performance computers Huge amount of time spent on minute details Huge budgets We will not come close in just 2-3 months But the fun is the same or so it should be! 22 (Lecture 1)

How our students did it (2011) Hall of Fame: /graphics/halloffame2011.php Example student projects Fancy terrains Car with lights by night 23 (Lecture 1)

Student Feedback 2011 24 (Lecture 1)

Student Feedback 2011 no more exam! please ask if you need more math explained? good point!...trying to fix this in 2012 25 (Lecture 1)

Remaining Outline for Today Graphics Systems Architectures High-end (and low-end) Graphics Systems Hands-on Session: Initial setup of Java, OpenGL, Eclipse Install example application Compile & Play Encouraged: use of own laptop/pc (if your hardware is up-to-date) 26 (Lecture 1)

Graphics Systems Architectures 27 (Lecture 1)

Graphics Systems Architectures High-level view: Five major elements in a graphics system: 28 (Lecture 1)

Raster Graphics Pictures / images are raster-based In general: 2D array of pixels, each having n bits Pixels stored in part of memory called frame buffer Often special type of memory chips Defines resolution & depth (precision) Often: multiple buffers 29 (Lecture 1)

Graphics Architectures Early: More modern: 30 (Lecture 1)

Graphics Architectures Really Modern (GPU): Very complex Highly parallel Example: Image analysis on GPU-clusters Speedups of over 5000 31 (Lecture 1)

Pipeline Architectures The most important architecture we are dealing with: Vertices Primitives Fragments Multiple images in progress at the same time Works well because we continuously have to apply the same set of operations on (different) data sets 32 (Lecture 1)

Programmable Pipelines With OpenGL 3.x we are getting: e.g., Java Vertex shader 33 (Lecture 1) Fragment shader

High-End Graphics (1) Tiled Video Wall (IC Wall) 34 (Lecture 1)

High-End Graphics (2) CAVE Automatic Virtual Environment 35 (Lecture 1)

High-End Graphics (2) Inside a CAVE Video: http://www.youtube.com/watch?v=-sf6bjjwsce&feature=relmfu 36 (Lecture 1)

Low-End Graphics OpenGL ES for Embedded systems (mostly phones...) subset of desktop OpenGL OpenGL ES 2.X enables full programmable 3D graphics 37 (Lecture 1)

Hands-on Session 38 (Lecture 1)

A cross-platform Application Programming Interface (API) for producing 2D and 3D computer graphics Developed by Silicon Graphics Inc. (1992) See: http://www.opengl.org NOTE: We use the Java binding for OpenGL: JOGL http://jogamp.org/jogl/www/ http://download.java.net/media/jogl/www/ 39 (Lecture 1)

Old School OpenGL 2.x higher-level abstractions core GL functionality AWT + much functionality readily available - strict/limited functionality 40 (Lecture 1) interfacing the windowing system and operating system

New School OpenGL 3.x new, smaller core GL functionality DIY of old GLU/GL functionality your own lib AWT interfacing the windowing system snd operating system + flexibility (e.g., by your own shaders) - more work left to the programmer in the lib 41 (Lecture 1)

Hands-on Session Initial setup of Java, OpenGL, Eclipse & example apps. See link: http://www.cs.vu.nl/~graphics/material.php Compile & play In display, change the order of the 3 triangles VU-local JavaDoc: JOGL: http://www.cs.vu.nl/~graphics/javadoc/ our own lib : http://www.cs.vu.nl/~graphics/doc/ Encouraged: use of your own laptop/pc 42 (Lecture 1)

Theory: Book Chapter 1 Sections: 1.1, 1.2, 1.7, 1.8, 1.9 And in particular also: Course administrative information 43 (Lecture 1)