DOC PREVIEW
UVA CS 445 - 3D Polygon Rendering Pipeline

This preview shows page 1-2-3-4 out of 11 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1Greg HumphreysCS445: Intro GraphicsUniversity of Virginia, Fall 20033D PolygonRendering PipelineGreg HumphreysUniversity of VirginiaCS 445, Fall 20033D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illumination3D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illuminationQuake II(Id Software)3D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illumination2Ray Casting Revisited• For each sample …D Construct ray from eye position through view planeD Find first surface intersected by ray through pixelD Compute color of sample based on surface radianceMore efficient algorithmsutilize spatial coherence!3D Polygon Rendering• What steps are necessary to utilize spatial coherence while drawing these polygons into a 2D image?3D Rendering Pipeline (direct illumination)3D Geometric PrimitivesModelingTransformationViewingTransformationProjectionTransformationLightingImageClippingScanConversionThis is a pipelinedsequence of operations to draw a 3D primitiveinto a 2D image Example: OpenGLModelingTransformationViewingTransformationProjectionTransformationLightingImageClippingScanConversionOpenGL executes steps of 3D rendering pipelinefor each polygonglBegin(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();33D Rendering Pipeline (for direct illumination)ModelingTransformationViewingTransformationProjectionTransformationLighting3D Geometric PrimitivesImageClippingScanConversionTransform into 3D world coordinate system3D Rendering Pipeline (for direct illumination)ModelingTransformationViewingTransformationProjectionTransformationLighting3D Geometric PrimitivesImageClippingScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectance3D Rendering Pipeline (for direct illumination)ModelingTransformationViewingTransformationProjectionTransformationLighting3D Geometric PrimitivesImageClippingScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectanceTransform into 3D camera coordinate system3D Rendering Pipeline (for direct illumination)ModelingTransformationViewingTransformationProjectionTransformationLighting3D Geometric PrimitivesImageClippingScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemTransform into 2D screen coordinate system Illuminate according to lighting and reflectance43D Rendering Pipeline (for direct illumination)ModelingTransformationViewingTransformationProjectionTransformationLighting3D Geometric PrimitivesImageClippingScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemClip primitives outside camera’s viewTransform into 2D screen coordinate system Illuminate according to lighting and reflectance3D Rendering Pipeline (for direct illumination)ModelingTransformationViewingTransformationProjectionTransformationLighting3D Geometric PrimitivesImageClippingScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemDraw pixels (includes texturing, hidden surface, ...)Clip primitives outside camera’s viewTransform into 2D screen coordinate system Illuminate according to lighting and reflectanceTransformationsModelingTransformationViewingTransformationProjectionTransformationLighting3D Geometric PrimitivesImageClippingScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemDraw pixels (includes texturing, hidden surface, etc.)Clip primitives outside camera’s viewTransform into 2D screen coordinate system Illuminate according to lighting and reflectanceTransformationsModelingTransformationViewingTransformation2D Image CoordinatesProjectionTransformationWindow-to-ViewportTransformation3D Object Coordinates3D World Coordinates3D Camera Coordinates2D Screen CoordinatesTransformations map points from one coordinate system to anotherp(x,y,z)p’(x’,y’)3D WorldCoordinates3D CameraCoordinates3D ObjectCoordinatesxzy5Viewing TransformationsModelingTransformationViewingTransformation2D Image CoordinatesProjectionTransformationWindow-to-ViewportTransformation3D Object Coordinates3D World Coordinates3D Camera Coordinates2D Screen Coordinatesp(x,y,z)p’(x’,y’)}Viewing TransformationsCamera CoordinatesCamera right vectormaps to X axisCamera up vector maps to Y axisCamera back vectormaps to Z axis(pointing out of screen)• Canonical coordinate systemD Convention is right-handed (looking down -z axis)D Convenient for projection, clipping, etc.xyzViewing Transformation• Mapping from world to camera coordinatesD Eye position maps to originD Right vector maps to X axisD Up vector maps to Y axisD Back vector maps to Z axis xyzWorldrightupbackCameraView planeFinding the viewing transformation• We have the camera (in world coordinates)• We want T taking objects from world to camera• Trick: find T-1taking objects in camera to worldwpTcp ==wzyxponmlkjihgfedcbawzyx''''cpTwp1−=?6Finding the Viewing Transformation• Trick: map from camera coordinates to worldD Origin maps to eye positionD Z axis maps to Back vector D Y axis maps to Up vectorD X axis maps to Right vector• This matrix is T-1so we invert it to get T … easy!=wzyxEBUREBUREBUREBURwzyxwwwwzzzzyyyyxxxx''''Viewing TransformationsModelingTransformationViewingTransformation2D Image CoordinatesProjectionTransformationWindow-to-ViewportTransformation3D Object Coordinates3D World Coordinates3D Camera Coordinates2D Screen Coordinatesp(x,y,z)p’(x’,y’)}Viewing TransformationsProjection• General definition:D Transform points in n-space to m-space (m<n)• In computer graphics:D Map 3D camera coordinates to 2D screen coordinatesTaxonomy of ProjectionsFVFHP Figure 6.107Taxonomy of ProjectionsFVFHP Figure 6.10Parallel ProjectionAngel Figure 5.4• Center of projection is at infinityD Direction of projection (DOP) same for all pointsDOPViewPlaneOrthographic ProjectionsAngel Figure 5.5Top SideFront• DOP perpendicular to view planeOblique ProjectionsH&B Figure 12.24• DOP not perpendicular to view planeCavalier(DOP α = 45o)Cabinet(DOP α = 63.4o)45=φ45=φ8Parallel Projection View VolumeH&B Figure


View Full Document

UVA CS 445 - 3D Polygon Rendering Pipeline

Documents in this Course
Lighting

Lighting

49 pages

Color

Color

20 pages

Clipping

Clipping

10 pages

Shadows

Shadows

95 pages

Color

Color

37 pages

Radiosity

Radiosity

49 pages

Clipping

Clipping

59 pages

Assign 3

Assign 3

28 pages

Splines

Splines

17 pages

Color

Color

17 pages

Load more
Download 3D Polygon Rendering Pipeline
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view 3D Polygon Rendering Pipeline and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view 3D Polygon Rendering Pipeline 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?