DOC PREVIEW
MIT 6 837 - Study Guide

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

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

Unformatted text preview:

1MIT EECS 6.837, Cutler and Durand1Clipping and other geometric algorithmsMIT EECS 6.837Frédo Durand and Barb CutlerMIT EECS 6.837, Cutler and Durand2Final projects• Rest of semester– Weekly meetings with TAs– Office hours on appointment• This week, with TAs– Refine timeline– Define high-level architecture• Project should be a whole, but subparts should be identified with regular merging of codeMIT EECS 6.837, Cutler and Durand3Review of last time?MIT EECS 6.837, Cutler and Durand4Last time• Polygon scan conversion–Smart• Take advantage of coherence• Good for big triangles– back to brute force• Incremental edge equation• Good for small triangles• Simpler clipping• Visibility– Painer: complex ordering– Z buffer: simple, memory cost• Hyperbolic z interpolationMIT EECS 6.837, Cutler and Durand5Z interpolation• X’=x/z• Hyperbolic variation• Z cannot be linearly interpolatedz0z1ximagex’MIT EECS 6.837, Cutler and Durand6Integer z-buffer• Use 1/z to have more precision in the foreground• Set a near and far plane– 1/z values linearly encoded between 1/near and 1/far• Careful, test direction is reversedxfarnear2MIT EECS 6.837, Cutler and Durand7Plan• Review of rendering pipeline• 2D polygon clipping• Segment intersection• Scanline rendering overviewMIT EECS 6.837, Cutler and Durand8The Graphics PipelineModeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / DisplayMIT EECS 6.837, Cutler and Durand9Modeling TransformationsModeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / DisplayObject space World spacex'y'z'1=xyz1aei0bfj0cgk0dhl1MIT EECS 6.837, Cutler and Durand10Illumination (Shading) (Lighting)• Vertices lit (shaded) according to material properties, surface properties (normal) and light• Local lighting model (Diffuse, Ambient, Phong, etc.)Modeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / Display24 )()()()(dkkkLsqsdarπωΦ⋅+⋅+= rvlnMIT EECS 6.837, Cutler and Durand11Viewing Transformation• Viewing position is transformed to origin & direction is oriented along some axis (usually z)Modeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / DisplayEye spaceWorld spaceYet another 4x4 matrixx'y'z'1=xyz1aei0bfj0cgk0dhl1MIT EECS 6.837, Cutler and Durand12Clipping• Portions of the object outside the view volume (view frustum) are removedModeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / Display3MIT EECS 6.837, Cutler and Durand13Clipping – modern hardware• Only to the near planeModeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / Display(eyex, eyey, eyez)image planez axis"clip" geometry to near planeMIT EECS 6.837, Cutler and Durand14Projection• Projective transformModeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / DisplayMIT EECS 6.837, Cutler and Durand15Perspective Projection• 2 conceptual steps:– 4x4 matrix– Homogenize• In fact not always needed• Mordern graphics hardware performs most operations in 2D homogeneous coordinatesxy1z / d=xyz1100001000001/d0010x * d / zy * d / zd/z1=homogenizeMIT EECS 6.837, Cutler and Durand16When to clip?• Before perspective transform in 3D space– Use the equation of 6 planes– Natural, not too degenerate• In homogeneous coordinates after perspective transform (Clip space)– Before perspective divide (4D space, weird w values)– Canonical,independent of camera– The simplest to implement in fact• In the transformed 3D screen space after perspective division– Problem: objects in the plane of the cameraMIT EECS 6.837, Cutler and Durand17Scan Conversion (Rasterization)• Incremental edge equations• Interpolate values as we go (color, depth, etc.)• Screen-space bbox clippingModeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / DisplayMIT EECS 6.837, Cutler and Durand18Visibility / Display• Each pixel remembers the closest object (depth buffer)Modeling TransformationsIllumination(Shading)Viewing Transformation(Perspective / Orthographic)ClippingProjection (to Screen Space)Scan Conversion(Rasterization)Visibility / Displayxfarnear4MIT EECS 6.837, Cutler and Durand19Rendering Pipeline vs. ray castingRay CastingFor each pixelFor each objectSend pixels to the sceneDiscretize firstRendering PipelineFor each triangleFor each pixelProject scene to the pixelsDiscretize lastMIT EECS 6.837, Cutler and Durand20Rendering Pipeline vs. ray castingRay CastingFor each pixelFor each object• Depth complexity: no calculation for hidden part• Whole scene must be in memory• Very atomic computation• More general, more flexible– Primitive, lighting effects, adaptive antialiasingRendering PipelineFor each triangleFor each pixel• Coherence: geometric transforms for vertices only• Arithmetic intensity: the amount of computation increases in the depth of the pipeline– Good bandwidth/computation ratio• Harder to get global illumination(shadows, interreflection, etc.)MIT EECS 6.837, Cutler and Durand21Games : pipelineMIT EECS 6.837, Cutler and Durand22Flight simulation: pipeline (painter for long time)MIT EECS 6.837, Cutler and Durand23Movies: Both pipeline and ray tracingMIT EECS 6.837, Cutler and Durand24CAD-CAM & designpipeline during design, anything for final image5MIT EECS 6.837, Cutler and Durand25Architectureray-tracing, pipeline, but do complex lighting simulation (cf. later lectures)MIT EECS 6.837, Cutler and Durand26Virtual reality : pipelineMIT EECS 6.837, Cutler and Durand27Visualization:mostly pipeline, ray-tracing for high-quality eye candy, interactive ray-tracing is startingMIT EECS 6.837,


View Full Document

MIT 6 837 - Study Guide

Documents in this Course
Shadows

Shadows

64 pages

Animation

Animation

37 pages

Radiosity

Radiosity

25 pages

Color

Color

86 pages

InterArch

InterArch

14 pages

Color

Color

15 pages

Animation

Animation

61 pages

Luxo Jr

Luxo Jr

14 pages

Animation

Animation

52 pages

Radiosity

Radiosity

37 pages

Load more
Download Study Guide
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 Study Guide 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 Study Guide 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?