58
Welcome! Graphics 2012/2013, 4th quarter Wolfgang H¨ urst Information and Computing Sciences Game, Media and Agent Technology Multimedia and Geometry Research Group Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Lecture 1: Introduction - Utrecht University ·  · 2013-04-23... Fundamentals of Computer Graphics (3rd ed.) by Peter Shirley and Steve Marschner. ... covering today’s and Thursday’s

Embed Size (px)

Citation preview

Welcome!

Graphics 2012/2013, 4th quarter

Wolfgang Hurst

Information and Computing SciencesGame, Media and Agent Technology

Multimedia and Geometry Research Group

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

Outline

1 Course organizationIntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Introduction

Wolfgang HurstEmail: [email protected]: BBL 480Phone: +31 (30) 253 1806Research group: Multimedia and geometry(part of game, media and agent technology)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Language

Language of the course:

Lecture, tutorials, and programming labs: English(But all TAs speak Dutch)

Exams: English, but answers in Dutch are ok

Why English lectures?

Textbook is English, too

CS is dominated by English language

MSc course are English (good preparation)

Some GMT students are following this course

And . . .

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Language

. . . this might happen when I do it in Dutch ;)

Video ”German Coast Guard”, from YouTube athttp://www.youtube.com/watch?v=rD4roXEY8hk

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Lectures (college)

Tuesdays, 09:00–10:45 (ANDRO-C101)Thursdays, 13:15–15:00 (ANDRO-C101)

Check the website for schedule, further details, and lastminute changes

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Lectures (college)

Textbook: Fundamentals of Computer Graphics (3rd ed.)by Peter Shirley and Steve Marschner.

2nd edition (or maybe even 1st one) should be fine, too(not all is covered though, but most of it -although in different order)

Other resources might be posted on the website

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Lectures (college)

Lectures will be recorded(audio and synchronized screen capture)

Recordings will be available on the website for download(usually within a day or two)

Very important to keep in mind:

Technology can fail (and most likely will)We might stop this without further notice

Therefore:

Don’t rely on this!Think carefully of how you want to take advantage of this!

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Tutorials (werkcollege)

There will be six tutorial sheets with exercises

It is up to you when and where you will do them(ignore “groep indeling” on OSIRIS)

Their content is part of the exam

We expect you to work on them independently

The first exercise sheet is online nowcovering today’s and Thursday’s lecture

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Tutorials (werkcollege)

There will be designated time slots where a TA (Peter deWaal and Coert van Gemeren) will be present to help andassist with your questions

Tuesdays, 11:00–12:45 and Thursdays, 15:15–17:00

Start: Thursday, 25.4.13 (not today!)

Check website for further dates & locations

We highly recommend to attend one tutorial per week

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Programming labs (practicum)

There will be 3 programming assignments

It is up to you when and where you will do the assignments(ignore “groep indeling” on OSIRIS)

They will be part of your final grading

1st assignment goes online today (remember the password!)

1st one is easy (= a tutorial to give people without experiencea chance to catch up)

2nd and 3rd are significantly more work

Start them ASAP!

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Programming labs (practicum)

Room BBL 175 is reserved for this course Mon-Fri, 9-17h(you are allowed to ask people not attending the course toleave)

TAs will be present at certain timeslots to assist you:

Tue, 11-13h: Jordi van Duijn, Tom RijnbeekThu, 11-13h: Vazgen GasparianThu, 15-17h: Gydo Nieraeth, Paul Scharf

Changes may apply (esp. close to deadlines)

Start: Thu, 25.4., 11h

Check website for details and changes

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Programming labs (practicum)

You have to do the assignments in teams of 2-3 students

If you have trouble finding a partner: contact a TA in thescheduled time slots ASAP(!) and they will help you

Submitting alone without prior approval will decrease yourgrade by 1.0

Special conditions apply for last year’s students (checkwebsite!)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Programming labs (practicum)

You need a Windows 7 PC, Visual Studio 2010, and XNAGame Studio 4.0 for the practicals (sorry Mac & Linux fans)

If you don’t have this equipment: remember that room BBL175 is reserved for this course for the whole week

Your deliverables have to run on the machines there

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Programming labs (practicum)

There will be three programming assignments:

P1: Tutorial (counts 20%)

P2: Basic shader programming (counts 40%)

P3: Advanced shader programming (counts 40%)

Remember that P1 is significantly easier than P2 and P3

Grading:

The total grade P = 0.2 ∗ P1 + 0.4 ∗ P2 + 0.4 ∗ P3 counts1/3 for your final grade

No reusage/copying of code(be warned: we use software to verify that!)

Grades from last year don’t count, but exceptions apply(check website)!

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Schedule (overview)

1st tutorial is online,1st tutorial session startsThursday

1st practical is online,1st practical session startsThursday

Take advantage of the offered supervision!

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Exams

Exams:

T1: Thu, May 24, 2011 (covers lect. 1-6, tutorials 1-3)T2: Thu, Jul 05, 2011 (covers lect. 7-12, tutorials 4-6)

Grade: T = ( T1 + T2 ) / 2

Grades of last year do not count.If you can’t make it to the exams for very good reasons(holidays don’t count!), make sure to notify me a.s.a.p., andbe prepared to backup your claims with evidence.

Changes may apply! Always check the website for final infos!

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Grading

Final grade = ( 2T + P ) / 3Minimum grades needed to pass: both T and P at least 5.0(before rounding), final grade at least 6.0 (after rounding)

Retakes:In order to qualify for the retake, you must have turned in allprogramming assignments, participated in both exams, and gota total grade of at least 4.0Any exception from this rule needs prior approval from theinstructorDate for retake exam: Thu, Aug 15, 2013Retake covers whole lecture and will replace lower of the 2exam grades

Refer to the website for further info

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Website (news section)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Course organization

IntroductionLecturesTutorialsProgramming labsExams and gradingWebsite

Some final words of advice . . .

This is a very work intensive coursemake sure to not get behind, e.g. by skipping lectures

This is a very big course with students of variousbackgrounds, e.g.

graphics gurus vs. programming novicesmaths students vs. maths beginnersnote to maths students: don’t underestimate part 2!)

etc.

You have lots of freedom in this course to focus and work on yourweaknesses → take advantage of it!

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Outline

2 Computer graphicsWhat and why?Example applicationApproaches

3 Basic methods for image generationProjection vs. ray tracingRay tracing / ray castingProjective methodsThe graphics pipeline

4 Closing remarks

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

What is computer graphics?

Computer Graphics describes any use of computers to create ormanipulate images (definition from the textbook).

Keyphrase here: ”create images”, i.e. represent an image of avirtual world of graphics objects from a specific view

Related to, but different from

Image processing

Computer vision

Other closely related fields:

Interaction/HCI, VR,visualization, . . . http://www.bigbuckbunny.org/

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Why do we study it?

Applications in:

Movie industry (special effects, 3D animations, cartoons)

Virtual reality (e.g., remote access to museum collection)

Games

Interfaces, Human-Computer Interaction

Information visualization

Simulation (flight & car simulators, fire-fighting, . . . )

CAD/CAM, architectural design (walk-through)

Medical Imaging

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

Example: movies

Source: http://www.pixar.com/howwedoit/index.html (outdated)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

So, what exactly is computer graphics now?

Graphics: create an image of a virtual world of graphical objectsfrom a specific view on a graphics device (usually: raster display)

Modeling (not much here):mathematical specification of shape and appearanceRendering:creation of shaded images from 3D computer modelsAnimation (not covered here):create an illusion of motion through a sequence of images

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

What and why?Example applicationApproaches

What will we do here?

Two approaches for teaching graphics:

Basics and backgrounds, esp.

physics (not much here)mathematics (lots of it here!)

vs. applications and libraries (not here but in practicals)

This course will be very basic and we will miss many things, e.g.

Graphics hardware

3D modeling → Driedimensionaal modelleren (INFODDM)

Animation → Computer animation (INFOMCANIM)

Interfaces → Interactietechnologie (INFOB2IT)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Basic methods for image generation

Modeling (“creating 3d virtual worlds”)

Rendering (“creating 2d images from 3d models”)

Two basic methods:

Ray tracing

Projective methods

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Ray tracing / ray casting

For photo-realistic rendering,usually ray tracing algorithmsare used: for every pixel

Compute ray fromviewpoint through pixelcenter

Determine intersectionpoint with first object hitby ray

Calculate shading for thepixel (possibly withrecursion)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Ray tracing / ray casting

Global Illumination

Traditionally (very) slow

Recent developments:real-time ray tracing

Note: before we had the gametechnology focus, the practicalassignment of this course wasto implement a ray tracer

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Examples: landscapes (www.terragen.org)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Examples: office (www.povray.org)

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Examples: INFOGR practicals 2010

Now, we switched to shader programming.Why? Because ray tracing is sloooooooooow ...

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Projective methods

A popular method forgenerating images from a3D-model is projection, e.g.:

3D triangles projectto 2D triangles

Project vertices

Fill/shade 2D triangle

Notice:Ray tracing = pixel-based,proj. methods = object-based

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Projective methods

Used by OpenGL /DirectX and relatedShader languages

Very fast: hardwaresupported

Real-time applications(games)

You will do this in thepracticals!

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Examples: INFOGR practicals 2011

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Graphics pipeline

3D graphics pipeline:

a specialhardware/softwaresubsystem that efficientlydraws 3D primitives inperspective

a sequence of operationstransforming 3D modelsinto pixels on the screen

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Graphics pipeline

Application:

computes 3D geometry

makes calls to graphicsAPI (application programinterface)

APIs usually supportcertain primitives (e.g.triangles)

In graphics, e.g.DirectX/Direct3D andOpenGL with Shaderlanguages HLSL and GLSL,respectively.

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Graphics pipeline

Vertex processing:

transformation ofgeometry from 3D to 2D

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Graphics pipeline

Rasterization:

From 2D geometry tofragments

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Graphics pipeline

Fragment processing andblending:

Process fragments (e.g.shading, texturing, . . . )

Combine fragments tofinal pixel (e.g. ordering)

etc.

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Projection vs. ray tracingRay tracingProjectionGraphics pipeline

Graphics pipeline

Note: shading can bedone in different stages ofthe pipeline (e.g.per-vertex vs.per-fragment)

Other tasks exist, e.g.clipping

We will talk about most ofthese in the course of thislecture

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Overview (changes may apply)

Introduction

Vectors, curves, surfaces

Shading

Linear algebra (matrices)

Linear and affine transformations

Texturing

Pipeline I: Perspective projection

Pipeline II: Clipping, culling, z-Buffer

Pipeline III: Rasterization and more shading

Global illumination and shadows

Ray tracing

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction

Computer graphicsBasic methods

Closing remarks

Next steps ...

That’s (almost) all for today

Next lecture: Thu, 25.4., 13h15

1st tutorial sheet available now;1st session on Thu, 25.4., 15h

1st practical assignment available now;1st TA session on Thu, 25.4., 11h and 15h

Don’t forget to look for a team mate for the practicals!

And check the website regularly for updates

Graphics, 2012/2013, 4th quarter Lecture 1: Introduction