• No results found

How To Teach Computer Graphics

N/A
N/A
Protected

Academic year: 2021

Share "How To Teach Computer Graphics"

Copied!
43
0
0

Loading.... (view fulltext now)

Full text

(1)

Computer Graphics

Lecture 1:

 Introduction (basic administrative information)

 Course Overview + Examples (a.o. Pixar, Blender, …)

Thilo Kielmann

(2)

General Introduction

http://www.cs.vu.nl/~graphics/

(3)

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, 6

th

ed. (new!!!)

 Get it from STORM or the VU Boekhandel

 Grading:

 Homework (1/4) and assignment / project (3/4)

(4)

The Course in a Nutshell (2)

 New book: 6

th

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

(5)

The Course in a Nutshell (2)

 Lecturer:

 Thilo Kielmann ([email protected])

 Course Assistant (also for assignment / project):

 Ben van Werkhoven ([email protected])

 Guest Lecture:

(6)

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/

(7)

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

(8)

Homework Assignments

● Instead of written exam:

● 3 homework assignments during the course

submit via blackboard

slack days:

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

(9)

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

(10)

General Overview

(11)

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

(12)

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

(13)

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

(14)

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, …

(15)

How we will do it… (course outline 3/6)

Viewing, Lighting, Shading

Lecture06/07: Camera Positioning / Projections

Lecture08: Light and Matter

Start of programming project

(+/- 20 Nov)

(16)

How we will do it… (course outline 4/6)

Modeling and Hierarchy

Lecture09: Trees, Scene Graphs

(17)

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

(18)

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

(19)

How many scientists do it…

 Example:

(20)

How the ‘big guys’ do it…

 ‘Sintel’ (Blender Foundation, 2010)

 Movie (Youtube)

 Making of (Youtube)

 Focus on the project, the artists, story writing...

(21)

How the (really) ‘big guys’ do it…

 Pixar Website:

 http://www.pixar.com/behind_the_scenes

(22)

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!

(23)

How our students did it (2011)…

 Hall of Fame:

 …/graphics/halloffame2011.php

 Example student projects

 Fancy terrains

 Car with lights by night

 …

(24)

Student Feedback 2011

(25)

Student Feedback 2011

no more exam!

?

please ask if you need

more math explained

(26)

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)

(27)

Graphics Systems Architectures

(28)

Graphics Systems Architectures

 High-level view:

 Five major elements in a graphics system:

(29)

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

(30)

Graphics Architectures

 Early:

 More modern:

(31)

Graphics Architectures

 Really Modern (GPU):

 Very complex

 Highly parallel

 Example:

 Image analysis on GPU-clusters

(32)

Pipeline Architectures

 The most important architecture we are dealing with:

 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

Vertices Primitives Fragments

(33)

Programmable Pipelines

 With OpenGL 3.x we are getting:

Vertex shader

e.g., Java

(34)

High-End Graphics (1)

 Tiled Video Wall (IC Wall)

(35)

High-End Graphics (2)

 CAVE Automatic Virtual Environment

(36)

High-End Graphics (2)

 Inside a CAVE

 Video: http://www.youtube.com/watch?v=-Sf6bJjwSCE&feature=relmfu

(37)

“Low-End” Graphics

OpenGL ES

● for Embedded systems (mostly phones...)

● subset of desktop OpenGL

● OpenGL ES 2.X enables full

programmable 3D graphics

(38)

Hands-on Session

(39)

 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/

(40)

“Old School” OpenGL 2.x

AWT

core GL functionality

interfacing the

windowing system and operating system

higher-level abstractions

+ much functionality readily available

- strict/limited functionality

(41)

“New School” OpenGL 3.x

your own lib

AWT

new, smaller core GL functionality

interfacing the

windowing system snd operating system

“DIY” of old GLU/GL functionality

+ flexibility (e.g., by your own shaders)

(42)

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

(43)

Theory: Book Chapter 1

 Sections:

 1.1, 1.2, 1.7, 1.8, 1.9

 And in particular also:

 Course administrative information

References

Related documents

Computer graphics, user interaction techniques, graphics modelling and simulation, distributed interactive application development methodologies, Grid, Cloud, and Web

Practical notes, overview No claim of completeness Outline Introduction to haptics Device overview chai3d Live demo 11 Petr Kmoch, Computer Graphics Group,.

knowledge of coordinate systems and the perspective projection pipeline. It covers some advanced topics in computer graphics not developed in the introductory course, most notably

Lawrence, University of Virginia CS 4810: Introduction to Computer Graphics – http://bit.ly/hPIXdi. Computing & Information Sciences Kansas State

In the opinion of these authors, contemporary curricula of most university level graphics courses and textbooks do not appropriately emphasize the most critical aspects of

generate in-game graphics such as head up displays, sprite graphics, gif animations, image textures and asset creation from developed ideas, graphics specifications and

Angel and Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 2.. What is

Algorithms, Programming & Data Representation Computer Systems & Programming Networking. Tracing & Debugging