The 3D Rasterization Pipeline3D Rendering Scenarios3D Polygon Rendering3D Polygon RenderingRay Casting Revisited3D Polygon Rendering3D Polygon Rendering3D Polygon Rendering3D Polygon Rendering3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)TransformationsViewing TransformationsViewing TransformationCamera CoordinatesFinding the viewing transformationFinding the Viewing TransformationViewing TransformationsProjectionTaxonomy of ProjectionsTaxonomy of ProjectionsParallel ProjectionOrthographic ProjectionsParallel Projection MatrixParallel Projection View VolumeTaxonomy of ProjectionsPerspective ProjectionPerspective ProjectionPerspective ProjectionPerspective Projection MatrixPerspective Projection MatrixPerspective Projection MatrixPerspective Projection View VolumePerspective vs. ParallelTransformationsViewport TransformationViewport TransformationSummary of Transformations3D Rendering Pipeline (for direct illumination)ClippingClippingPolygon ClippingPolygon ClippingSutherland Hodgeman ClippingSutherland Hodgeman ClippingSutherland Hodgeman ClippingSutherland Hodgeman ClippingSutherland Hodgeman ClippingClipping to a BoundaryClipping to a BoundaryClipping to a BoundaryClipping to a BoundaryClipping to a BoundaryClipping to a BoundaryClipping to a BoundaryClipping to a BoundaryClipping to a Boundary3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)3D Rendering Pipeline (for direct illumination)Scan ConversionTriangle Scan ConversionSimple AlgorithmTriangle Sweep-Line AlgorithmTriangle Sweep-Line AlgorithmGPU ArchitectureThe 3D Rasterization PipelineCOS 4263D Rendering Scenarios• Batch One image generated with as much quality as possiblefor a particular set of rendering parameters Take as much time as is needed (minutes) Useful for photorealistism, movies, etc. Interactive Images generated in fraction of a second (<1/10)with user input, animation, varying camera, etc. Achieve highest quality possible in given time Visualization, games, etc.3D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illuminationBungie3D Polygon Rendering• Many applications use rendering of 3D polygonswith direct illuminationmeshviewRay 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 illumination3D Polygon Rendering• We can render polygons faster if we take advantage of spatial coherence3D Polygon Rendering• How?3D Polygon Rendering• How?3D Polygon Rendering• How?3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationThis is a pipelinedsequence of operations to draw 3D primitivesinto a 2D image3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationOpenGL 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)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform into 3D world coordinate system3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform into 3D world coordinate systemIlluminate according to lighting and reflectance3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform into 3D world coordinate systemTransform into 3D camera coordinate systemIlluminate according to lighting and reflectance3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform into 3D world coordinate systemTransform into 3D camera coordinate systemTransform into 2D camera coordinate system Illuminate according to lighting and reflectance3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform 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)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform 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 reflectanceTransform into image coordinate system3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform 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 reflectanceTransform into image coordinate system3D Rendering Pipeline (for direct illumination)3D PrimitivesModelingTransformationProjectionTransformationClippingLightingImageViewportTransformationScanConversionViewingTransformationTransform into 3D world coordinate systemTransform into 3D camera coordinate systemDraw pixels (includes texturing, hidden surface, ...)Clip
View Full Document