DOC PREVIEW
Princeton COS 426 - 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:

113D PolygonRendering PipelineAdam FinkelsteinPrinceton UniversityC0S 426, Fall 200123D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illumination33D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illuminationQuake II(Id Software)43D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illumination5Ray 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!More efficient algorithmsutilize spatial coherence!63D Polygon Rendering• What steps are necessary to utilizespatial coherence while drawingthese polygons into a 2D image?273D Rendering Pipeline (direct illumination)3D Geometric PrimitivesModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLightingImageClippingClippingScanConversionScanConversionThis is a pipelinedsequence of operationsto draw a 3D primitiveintoa2Dimage8Example: OpenGLModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLightingImageClippingClippingScanConversionScanConversionOpenGL executes stepsof 3D rendering pipelinefor each polygonOpenGL executes stepsof 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();93D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate system103D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectance113D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectanceTransform into 3D camera coordinate system123D Rendering Pipeline (for direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemTransform into 2D camera coordinate systemIlluminate according to lighting and reflectance3133D 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 systemIlluminate according to lighting and reflectance143D 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 systemIlluminate according to lighting and reflectance15TransformationsModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D 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 systemIlluminate according to lighting and reflectance16TransformationsModelingTransformationModelingTransformationViewingTransformationViewingTransformation2D Image CoordinatesProjectionTransformationProjectionTransformationWindow-to-ViewportTransformationWindow-to-ViewportTransformation3D Object Coordinates3D World Coordinates3D Camera Coordinates2D Screen CoordinatesTransformations map points fromone coordinate system to anotherTransformations map points fromone coordinate system to anotherp(x,y,z)p’(x’,y’)3D WorldCoordinates3D CameraCoordinates3D ObjectCoordinatesxzy17Viewing TransformationsModelingTransformationModelingTransformationViewingTransformationViewingTransformation2D Image CoordinatesProjectionTransformationProjectionTransformationWindow-to-ViewportTransformationWindow-to-ViewportTransformation3D Object Coordinates3D World Coordinates3D Camera Coordinates2D Screen Coordinatesp(x,y,z)p’(x’,y’)}Viewing Transformations18Camera CoordinatesCamera right vectormaps to X axisCamera up vectormaps to Y axisCamera back vectormaps to Z axis(pointing out of page)• Canonical coordinate systemο Convention is right-handed (looking down -z axis)ο Convenient for projection, clipping, etc.xyz419Viewing 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 axisxyzWorldrightupbackCameraViewplane20Finding 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−=?21Finding the Viewing Transformation• Trick: map from camera coordinates to worldο Origin maps to eye positionο Z axis


View Full Document

Princeton COS 426 - 3D Polygon Rendering Pipeline

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 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?