Upload
truongtu
View
217
Download
0
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