DOC PREVIEW
Princeton COS 426 - 3D Rendering

This preview shows page 1-2 out of 6 pages.

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

Unformatted text preview:

113D RenderingAdam FinkelsteinPrinceton UniversityC0S 426, Fall 20012Course SyllabusI. Image processingII. RenderingIII. ModelingIV. AnimationImage Processing(Rusty Coleman, CS426, Fall99)Modeling(Dennis Zorin, CalTech)Animation(Angel, Plate 1)Rendering(Michael Bostock, CS426, Fall99)3Where Are We Now?I. Image processingII. RenderingIII. ModelingIV. AnimationImage Processing(Rusty Coleman, CS426, Fall99)Modeling(Dennis Zorin, CalTech)Animation(Angel, Plate 1)Rendering(Michael Bostock, CS426, Fall99)4Rendering• Generate an image from geometric primitivesRenderingGeometricPrimitivesRasterImage53D Rendering ExampleWhat issues must be addressed by a3D rendering system?6Overview• 3D scene representation• 3D viewer representation• Visible surface determination• Lighting simulation27Overview» 3D scene representation• 3D viewer representation• Visible surface determination• Lighting simulationHow is the 3D scenedescribed in a computer?How is the 3D scenedescribed in a computer?83D Scene Representation• Scene is usually approximated by 3D primitivesο Pointο Line segmentο Polygonο Polyhedronο Curved surfaceο Solid objectο etc.93D Point• Specifies a locationο Represented by three coordinatesο Infinitely smalltypedef struct {Coordinate x;Coordinate y;Coordinate z;} Point;typedef struct {Coordinate x;Coordinate y;Coordinate z;} Point;(x,y,z)Origin103D Vector• Specifies a direction and a magnitudeο Represented by three coordinatesο Magnitude ||V|| = sqrt(dx dx + dy dy + dz dz)ο Has no location• Dot product of two 3D vectorsο V1·V2=dx1dx2+dy1dy2+dz1dz2ο V1·V2= ||V1|| || V2|| cos(Θ)typedef struct {Coordinate dx;Coordinate dy;Coordinate dz;} Vector;typedef struct {Coordinate dx;Coordinate dy;Coordinate dz;} Vector;(dx1,dy1,dz1)(dx2,dy2,dz2)Θ113D Line• Line segment with both endpoints at infinityο Parametric representation:»P=P1+tV, (-∞ <t<∞)P1typedef struct {Point P1;Vector V;}Line;typedef struct {Point P1;Vector V;}Line;VOrigin123D Ray• Line segment with one endpoint at infinityο Parametric representation:»P=P1+tV, (0<=t<∞)typedef struct {Point P1;Vector V;}Ray;typedef struct {Point P1;Vector V;}Ray;P1VOrigin3133D Line Segment• Specifies a linear combination of two pointsο Parametric representation:»P=P1+t(P2-P1), (0 ≤ t ≤ 1)typedef struct {Point P1;Point P2;} Segment;typedef struct {Point P1;Point P2;} Segment;P1P2Origin14Origin3D Plane• Specifies a linear combination of three pointsο Implicit representation:»P·N+d=0,or»ax+by+cz+d=0ο N is the plane “normal”» Unit-length vector» Perpendicular to planetypedef struct {Vector N;Distance d;} Plane;typedef struct {Vector N;Distance d;} Plane;P1N=(a,b,c)dP3P2153D Polygon• Area “inside” a sequence of coplanar pointsο Triangleο Quadrilateralο Convexο Star-shapedο Concaveο Self-intersectingο Holes (use > 1 polygon struct)typedef struct {Point *points;int npoints;} Polygon;typedef struct {Point *points;int npoints;} Polygon;Points are in counter-clockwise order163D Sphere• All points at distance “r” from point “(cx,cy,cz)”ο Implicit representation:»(x-cx)2+(y-cy)2+(z-cz)2=r2ο Parametric representation:» x = r cos(φ)cos(Θ)+cx» y = r cos(φ)sin(Θ)+cy»z=rsin(φ)+cztypedef struct {Point center;Distance radius;} Sphere;typedef struct {Point center;Distance radius;} Sphere;rOrigin173D Geometric Primitives• More detail on 3D modeling later in courseο Pointο Line segmentο Polygonο Polyhedronο Curved surfaceο Solid objectο etc.H&B Figure 10.4618Overview• 3D scene representation» 3D viewer representation• Visible surface determination• Lighting simulationHow is the viewing devicedescribed in a computer?How is the viewing devicedescribed in a computer?419Camera Models• The most common model is pin-hole cameraο All captured light rays arrive along paths toward focalpoint without lens distortion (everything is in focus)ο Sensor response proportional to radianceOther models consider ...Depth of fieldMotion blurLens distortionView planeEye position(focal point)20Camera Parameters• Positionο Eye position (px, py, pz)• Orientationο View direction (dx, dy, dz)ο Up direction (ux, uy, uz)• Aperatureο Field of view (xfov, yfov)• Film planeο “Look at” pointο View plane normalrightbackUp directionEyePositionViewdirectionViewPlane“Look at”Point21Moving the cameraView FrustumRightBackTowardsUpDemo22Overview• 3D scene representation• 3D viewer representation» Visible surface determination• Lighting simulationHow can the front-most surfacebe found with an algorithm?How can the front-most surfacebe found with an algorithm?23Visible Surface Determination• The color of each pixel on the view planedepends on the radiance emanating fromvisible surfacesView planeEye positionSimplest methodis ray castingSimplest methodis ray castingRaysthroughview plane24Ray Casting• 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 radiance525Ray Casting• 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 radiance26Visible Surface Determination• 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!27Rendering AlgorithmsRendering is a problem insampling and reconstruction!28Overview• 3D scene representation• 3D viewer representation• Visible surface determination» Lighting simulationHowdowecomputetheradiance for each sample ray?Howdowecomputetheradiance for each sample ray?29Lighting Simulation• Lighting parametersο Light source emissionο Surface reflectanceο Atmospheric attenuationο Camera responseNNCameraSurfaceLightSource30Lighting Simulation• Direct illuminationο Ray castingο Polygon shading• Global illuminationο Ray tracingο Monte Carlo methodsο Radiosity methodsMore on thesemethods later!More on thesemethods later!NNCameraSurfaceLightSourceN631Summary• Major issues in 3D renderingο 3D scene representationο 3D viewer representationο Visible surface determinationο Lighting simulation• Concluding noteο Accurate physical simulationis complex and


View Full Document

Princeton COS 426 - 3D Rendering

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