DOC PREVIEW
Princeton COS 426 - 3D Polygon

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:

13D PolygonRendering PipelineAdam FinkelsteinPrinceton UniversityCOS 426, Spring 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 illuminationRay Casting Revisited• For each sample …o Construct ray from eye position through view planeo Find first surface intersected by ray through pixelo Compute color of sample based on surface radianceMore efficient algorithmsutilize spatial coherence!More efficient algorithmsutilize spatial coherence!3D Polygon Rendering• What steps are necessary to utilize spatial coherence while drawing these polygons into a 2D image?23D Rendering Pipeline (direct illumination)3D Geometric PrimitivesModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLightingImageClippingClippingScanConversionScanConversionThis is a pipelinedsequence of operations to draw a 3D primitiveinto a 2D image Example: OpenGLModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLightingImageClippingClippingScanConversionScanConversionOpenGL executes steps of 3D rendering pipelinefor each polygonOpenGL 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)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate system3D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectance3D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectanceTransform into 3D camera coordinate system3D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemTransform into 2D camera coordinate system Illuminate according to lighting and reflectance33D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemClip primitives outside camera’s viewTransform into 2D camera coordinate system Illuminate according to lighting and reflectance3D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemDraw pixels (includes texturing, hidden surface, ...)Clip primitives outside camera’s viewTransform into 2D camera coordinate system Illuminate according to lighting and reflectanceTransformationsModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemDraw pixels (includes texturing, hidden surface, etc.)Clip primitives outside camera’s viewTransform into 2D camera coordinate system Illuminate according to lighting and reflectanceTransformationsModelingTransformationModelingTransformationViewingTransformationViewingTransformation2D Image CoordinatesProjectionTransformationProjectionTransformationWindow-to-ViewportTransformationWindow-to-ViewportTransformation3D Object Coordinates3D World Coordinates3D Camera Coordinates2D Screen CoordinatesTransformations map points from one coordinate system to anotherTransformations map points from one coordinate system to anotherp(x,y,z)p’(x’,y’)3D WorldCoordinates3D CameraCoordinates3D ObjectCoordinatesxzyViewing TransformationsModelingTransformationModelingTransformationViewingTransformationViewingTransformation2D Image CoordinatesProjectionTransformationProjectionTransformationWindow-to-ViewportTransformationWindow-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 page)• Canonical coordinate systemo Convention is right-handed (looking down -z axis)o Convenient for projection, clipping, etc.xyz4Viewing Transformation• Mapping from world to camera coordinateso Eye position maps to origino Right vector maps to X axiso Up vector maps to Y axiso 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−=?Finding the Viewing Transformation• Trick: map from camera coordinates to worldo Origin maps to eye positiono Z axis maps to Back vector o Y


View Full Document

Princeton COS 426 - 3D Polygon

Documents in this Course
Lecture

Lecture

35 pages

Lecture

Lecture

80 pages

Boids

Boids

25 pages

Exam 1

Exam 1

9 pages

Curves

Curves

4 pages

Lecture

Lecture

83 pages

Load more
Download 3D Polygon
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 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 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?