Download presentation
Presentation is loading. Please wait.
Published byRosamund Wilson Modified over 9 years ago
1
Rendering Pipeline Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006 (Slide set originally by Greg Humphreys)
2
2 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination
3
3 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination Quake II (Id Software)
4
4 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination
5
5 3D Rendering Pipeline 3D Geometric Primitives Modeling Transformation Modeling Transformation Viewing Transformation Viewing Transformation Projection Transformation Projection Transformation Lighting Image Clipping Scan Conversion Scan Conversion This is a pipelined sequence of operations to draw a 3D primitive into a 2D image (this pipeline applies only for direct illumination)
6
6 Example: OpenGL Modeling Transformation Modeling Transformation Lighting & Texturing Lighting & Texturing Projection Transformation Projection Transformation Viewing Transformation Viewing Transformation Image Clipping Scan Conversion Scan Conversion OpenGL executes steps of 3D rendering pipeline for each polygon OpenGL executes steps of 3D rendering pipeline for each polygon glBegin(GL_POLYGON); glVertex3f(0.0, 0.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(1.0, 1.0, 1.0); glVertex3f(0.0, 1.0, 1.0); glEnd();
7
7 3D Rendering Pipeline Modeling Transformation Modeling Transformation Lighting & Texturing Lighting & Texturing Projection Transformation Projection Transformation Viewing Transformation Viewing Transformation 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion Transform into 3D world coordinate system
8
8 3D Rendering Pipeline Modeling Transformation Modeling Transformation Lighting & Texturing Lighting & Texturing Projection Transformation Projection Transformation Viewing Transformation Viewing Transformation 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion Transform into 3D world coordinate system Transform into 3D camera coordinate system Done with modeling transformation
9
9 3D Rendering Pipeline Modeling Transformation Modeling Transformation Lighting & Texturing Lighting & Texturing Projection Transformation Projection Transformation Viewing Transformation Viewing Transformation 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion Transform into 3D world coordinate system Transform into 3D camera coordinate system Done with modeling transformation Illuminate according to lighting and reflectance Apply texture maps
10
10 3D Rendering Pipeline Modeling Transformation Modeling Transformation Lighting & Texturing Lighting & Texturing Projection Transformation Projection Transformation Viewing Transformation Viewing Transformation 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion Transform into 3D world coordinate system Illuminate according to lighting and reflectance Apply texture maps Transform into 2D screen coordinate system Transform into 3D camera coordinate system Done with modeling transformation
11
11 3D Rendering Pipeline Modeling Transformation Modeling Transformation Lighting & Texturing Lighting & Texturing Projection Transformation Projection Transformation Viewing Transformation Viewing Transformation 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion Transform into 3D world coordinate system Clip primitives outside camera’s view Transform into 2D screen coordinate system Transform into 3D camera coordinate system Done with modeling transformation Illuminate according to lighting and reflectance Apply texture maps
12
12 3D Rendering Pipeline Modeling Transformation Modeling Transformation Lighting & Texturing Lighting & Texturing Projection Transformation Projection Transformation Viewing Transformation Viewing Transformation 3D Geometric Primitives Image Clipping Scan Conversion Scan Conversion Transform into 3D world coordinate system Draw pixels (includes texturing, hidden surface,...) Clip primitives outside camera’s view Transform into 2D screen coordinate system Transform into 3D camera coordinate system Done with modeling transformation Illuminate according to lighting and reflectance Apply texture maps
13
13 Camera Coordinates Camera right vector maps to X axis Camera up vector maps to Y axis Camera back vector maps to Z axis (pointing out of screen) Canonical coordinate system Convention is right-handed (looking down -z axis) Convenient for projection, clipping, etc. x y z
14
14 Viewing Transformation Mapping from world to camera coordinates Eye position maps to origin Right vector maps to X axis Up vector maps to Y axis Back vector maps to Z axis x y z World right up back Camera View plane
15
15 Viewing Transformations Modeling Transformation Modeling Transformation Viewing Transformation Viewing Transformation 2D Image Coordinates Projection Transformation Projection Transformation Window-to-Viewport Transformation Window-to-Viewport Transformation 3D Object Coordinates 3D World Coordinates 3D Camera Coordinates 2D Screen Coordinates p(x,y,z) p’(x’,y’) Viewing Transformations
16
16 Projection General definition: Transform points in n-space to m-space (m<n) In computer graphics: Map 3D camera coordinates to 2D screen coordinates For perspective transformations, no two “rays” are parallel to each other
17
17 Taxonomy of Projections FVFHP Figure 6.10
18
18 Parallel Projection Angel Figure 5.4 Center of projection is at infinity Direction of projection (DOP) same for all points DOP View Plane
19
19 Orthographic Projections Angel Figure 5.5 TopSide Front DOP perpendicular to view plane
20
20 Oblique Projections H&B Figure 12.24 DOP not perpendicular to view plane Cavalier (DOP = 45 o ) Cabinet (DOP = 63.4 o )
21
21 Parallel Projection View Volume H&B Figure 12.30
22
22 Parallel Projection Matrix General parallel projection transformation:
23
23 Taxonomy of Projections FVFHP Figure 6.10
24
24 Perspective Projection Map points onto “view plane” along “projectors” emanating from “center of projection” (COP) Angel Figure 5.9 Center of Projection View Plane Projectors
25
25 How many vanishing points? The difference is how many of the three principle directions are parallel/orthogonal to the projection plane Perspective Projection Angel Figure 5.10 3-Point Perspective 2-Point Perspective 1-Point Perspective
26
26 Perspective Projection View Volume H&B Figure 12.30 View Plane
27
27 Camera to Screen Remember: Object Camera Screen Just like raytracer “screen” is the z=d plane for some constant d Origin of screen coordinates is (0,0,d) Its x and y axes are parallel to the x and y axes of the eye coordinate system All these coordinates are in camera space now
28
28 Overhead View of Our Screen Yeah, similar triangles!
29
29 The Perspective Matrix This “division by z” can be accomplished by a 4x4 matrix too! What happens to the point (x,y,z,1)? What point is this in non-homogeneous coordinates?
30
30 Taxonomy of Projections FVFHP Figure 6.10
31
31 Perspective projection + Size varies inversely with distance - looks realistic – Distance and angles are not (in general) preserved – Parallel lines do not (in general) remain parallel Parallel projection + Good for exact measurements + Parallel lines remain parallel – Angles are not (in general) preserved – Less realistic looking Perspective vs. Parallel
32
32 Classical Projections Angel Figure 5.3
33
33 Viewing in OpenGL OpenGL has multiple matrix stacks – trans- formation functions right-multiply the top of the stack Two most important stacks: GL_MODELVIEW and GL_PROJECTION Points get multiplied by the modelview matrix first, and then the projection matrix GL_MODELVIEW : Object->Camera GL_PROJECTION : Camera->Screen glViewport(0,0,w,h): Screen->Device
34
34 Summary Camera transformation Map 3D world coordinates to 3D camera coordinates Matrix has camera vectors as columns Projection transformation Map 3D camera coordinates to 2D screen coordinates Two types of projections: Parallel Perspective
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.