DOC PREVIEW
UVA CS 445 - 3D Polygon Rendering Pipeline

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

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 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 8 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 8 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1Greg HumphreysCS445: Intro GraphicsUniversity of Virginia, Fall 20043D PolygonRendering Pipeline3D 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 illuminationRay Casting Revisited• For each sample … Construct ray from eye position through view plane Find first surface intersected by ray through pixel Compute color of sample based on surface radianceMore efficient algorithmsutilize spatial coherence!3D Polygon Rendering• What steps are necessary to utilizespatial coherence while drawingthese polygons into a 2D image?23D Rendering Pipeline (direct illumination)3D Geometric PrimitivesModelingTransformationViewingTransformationProjectionTransformationLightingImageClippingScanConversionThis is a pipelinedsequence of operationsto draw a 3D primitiveinto a 2D imageExample: 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();3D 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 reflectance33D 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 fromone coordinate system to anotherp(x,y,z)p’(x’,y’)3D WorldCoordinates3D CameraCoordinates3D ObjectCoordinatesxzyViewing 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 system Convention is right-handed (looking down -z axis) Convenient for projection, clipping, etc.xyz4Viewing 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 axisxyzWorldrightupbackCameraView planeFinding the viewing transformation• We have the camera (in world coordinates)• We want T taking objects from world to camera• Trick: find T-1 taking objects in camera to worldwpTcp =!!!"#$$$%&!!!"#$$$%&=!!!"#$$$%&wzyxponmlkjihgfedcbawzyx''''cpTwp1!=?Finding the Viewing Transformation• Trick: map from camera coordinates to world Origin maps to eye position Z axis maps to Back vector Y axis maps to Up vector X axis maps to Right vector• This matrix is T-1 so 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: Transform points in n-space to m-space (m<n)• In computer graphics: Map 3D camera coordinates to 2D screen coordinatesTaxonomy of ProjectionsFVFHP Figure 6.105Taxonomy of ProjectionsFVFHP Figure 6.10Parallel ProjectionAngel Figure 5.4• Center of projection is at infinity 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=!Parallel Projection View VolumeH&B Figure 12.30Parallel Projection Matrix• General parallel projection transformation:!!!!"#$$$$%&!!!!"#$$$$%&=!!!!"#$$$$%&1100000000sin100cos0111cccsssszyxLLwzyx''6Taxonomy of


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?