Realtime 3D Computer Graphics & Virtual Reality. Viewing
|
|
- Cecily Morton
- 6 years ago
- Views:
Transcription
1 Realtime 3D Computer Graphics & Virtual Realit Viewing
2 Transformation Pol. Per Verte Pipeline CPU DL Piel Teture Raster Frag FB v e r t e object ee clip normalied device Modelview Matri Projection Matri Perspective Division Viewport Transform window Modelview Modelview Projection other calculations here material color shade model (flat) polgon rendering mode polgon culling clipping
3 Eample Frame Rendering Establish World Establish Viewpoint & Displa Plane Perform 3D Clipping Projection of World onto Displa Plane Perform Hidden Surface Removal Determine Displa Colors Rasteriation of 2D Displa *Rendering order ma be changed based on algorithms involved!
4 Classical and General Viewing
5 Viewing Process for Seeing a world Projection of a 3D world onto a 2D plane Snthetic Camera Model
6 Viewing Issues Location of viewer Location of view plane What can be seen (Culling and Clipping) How relationships are maintained Parallel Lines Angles Distances (Foreshortening) Relation to Viewer
7 Objects vs. Scenes Some viewing techniques better suited for viewing single objects rather than entire scenes Viewing an object from the outside (eternal viewing) Engineering, Eternal Buildings Viewing an object from within (internal viewing) Internal Buildings, Games
8 Definitions Projection: a transformation that maps from a higher dimensional space to a lower dimensional space (e.g. 3D->2D) Center of projection (CoP): the position of the ee or camera with respect to which the projection is performed (also ee point, camera point, proj. reference point) Projection plane: in a 3D->2D projection, the plane to which the projection is performed (also view plane)
9 Projectors Projectors: lines from coordinate in Original Space to coordinate in Projected Space A A Projectors A' B Projectors A' B Center of Projection B' Projection Plane B' Center of Projection at Infinit (Direction of Projection) Projection Plane Perspective: Distance to CoP is finite Parallel: Distance to CoP is infinite
10 Planar Geometric Projections Projection onto a plane Projectors are straight lines Alternatives: Some Cartographic Projections Omnima
11 Center of Projection Perspective View Parallel View
12 Projections Planar Geometric Projections Top (Plan) Front elevation Orthographic Parallel Oblique Cabinet Cavalier Perspective One-point Two-point Three-point Side elevation Aonometric Other Other
13 Parallel Projections Orthographic: Direction of projection is orthogonal to the projection plane Elevations: Projection plane is perpendicular to a principal ais Front Top (Plan) Side Aonometric: Projection plane is not orthogonal to a principal ais Isometric: Direction of projection makes equal angles with each principal ais. Oblique: Direction of projection is not orthogonal to the projection plane; projection plane is normal to a principal ais Cavalier: Direction of projection makes a 45 angle with the projection plane Cabinet: Direction of projection makes a 63.4 angle with the projection plane
14 Parallel Projections: Orthographic Projections Parallel Projectors Perpendicular to Projection Plane Special Case of Perspective Projection
15 Orthographic Projections: Multiview Classical Drafting Views Preserves both distance and angles Suitable to Object Views, not scenes Front-Elevation Projection Plane Parallel to Principle Faces Top or Plan-Elevation Side-Elevation
16 Orthographic Projections: Aonometric Projections Projection plane can have an orientation to object
17 Aonometric Projections Isometric Smmetric to three faces Dimetric Smmetric to two faces Trimetric General Aonometric case Foreshortening: Length is shorter in image space than in object space Uniform Foreshortening (As opposed to perspective projections where foreshortening is dependent on distance from object to COP) Parallel lines preserved Angles are not preserved
18 Oblique Projections Parallel Projections not perpendicular to projection plane Oblique projection tpes: Cavalier 45-degree Angles from Projection Plane Cabinet Arctan(2) or 63.4-degree Angles from Projection Plane
19 Perspective Projections First discovered b Donatello, Brunelleschi, and DaVinci during Renaissance Objects closer to viewer look larger Parallel lines appear to converge to single point One-point: One principal ais cut b projection plane One ais vanishing point Two-point: Two principal aes cut b projection plane Two ais vanishing points Three-point: Three principal aes cut b projection plane Three ais vanishing points
20 Vanishing Points Perspective Projection of an set of parallel line (not perpendicular to the projection plane) converge to a vanishing point Infinit of vanishing points one of each set of parallel lines
21 Ais Vanishing Points Vanishing point of lines parallel to one of the three principal aes There is one ais vanishing point for each ais cut b the projection plane At most, 3 such points Perspective Projections are categoried b number of ais vanishing points
22 Perspective Projections
23 Perspective Projection n n In the real world, objects ehibit perspective foreshortening: distant objects appear smaller The basic situation:
24 Perspective Views Objects further awa look smaller Natural look Length is not preserved Foreshortening of lines depends on distance from viewer
25 Perspective Projection When we do 3-D graphics, we think of the screen as a 2-D window onto the 3-D world: How tall should this bunn be?
26 Projection Transformations NOTE: Throughout the following discussions, we assume an OpenGL-like camera coordinate sstem (COP at the origin, DOP along the ais, vp < ). The concepts are the same for an arbitrar viewing configuration but the math is slightl more complicated.
27 Projecting Points onto a Displa Plane* Projection of world onto displa plane involves a perspective transformation: p =M per p Not affine (parallel lines do not remain parallel) Non-reversable ( p,d) =d ( p,d) =d *Note: Angels book has several errors in the mathematics in this area
28 Projection of point onto displa plane Observe: = (Same for ), = / d Results in non-uniform foreshortening d p p ( p,d) =d ( p,d) =d
29 One-Point Projection Center of Projection on the negative - ais with viewplane in the - plane. -Z +Z (,, -d) (,, ) ( proj, proj, ) + + = + = )) / ( /( )) / ( /( ) / ( / d d d d (,, ) projected = d/(d+) = /(+(/d)) projected = d/(d+) = /(+(/d))
30 Perspective Projection step b step The geometr of the situation is that of similar triangles. View from above: P (,, ) View plane Z What is? =? d (,,)
31 Perspective Projection Desired result for a point [,,, ] T projected onto the view plane: What could a matri look like to do this? d d d d d d d = = = = = = =, ', ' ', '
32 Use of Homogeneous Coordinates We can use homogeneous coordinates to make perspective transformation easier Homogeneous Representation of point: Suppose, instead: w w p = w w p = As long as w, we can recover original point
33 Use of w in homogeneous coordinates Let matri M transforms point p into point q: = = = / / d Mp d q
34 What is q? Then convert q back to a 3D point: Thus q is our projection of p onto the displa plane! = = = / / / / / p p p d d d d d d q
35 A Perspective Projection Matri Eample: Or, in 3-D coordinates: = d d d d d,,
36 Thus, M is M pers Thus, the matri M is used to project points onto a perspective displa plane = / d M
37 Simple Projection Pipeline Simple OpenGL-like Projection Matri: Model-View Matri Projection Matri Perspective Division
38 Orthogonal Projections, M ortho Special Case of Perspective Projection Displa Plane at =,, = = = p p p = p p p
39 Another One-Point Projection Center of Projection at the origin with view plane parallel to the - plane at distance d from the origin. M per Points plotted are /w, /w where w = /d Perspective division d d d d d ) / /( ) / /( / / = -Z +Z projected = d/ = /(/d) projected = d/ = /(/d)
40 Specifing An Arbitrar 3-D View Two coordinate sstems World reference coordinate sstem (WRC) Viewing reference coordinate sstem (VRC) First specif a view plane and coordinate sstem (WRC) View Reference Point (VRP) View Plane Normal (VPN) View Up Vector (VUP) Specif a window on the view plane (VRC) Ma and min u,v values (Center of the window (CW)) Projection Reference Point (PRP) Front (F) and back (B) clipping planes (hither and on)
41 Snthetic Camera Model
42 Snthetic Camera Model
43 Camera Analog 3D is just like taking a photograph (lots of photographs!) camera viewing volume tripod model
44 Camera
45 Camera Projection
46 Camera Analog and Transformations Projection transformations adjust the lens of the camera Viewing transformations tripod define position and orientation of the viewing volume in the world Modeling transformations moving the model Viewport transformations enlarge or reduce the phsical photograph
47 Coordinate Sstems and Transformations Steps in Forming an Image specif geometr (world coordinates) specif camera (camera coordinates) project (window coordinates) map to viewport (screen coordinates) Each step uses transformations Ever transformation is equivalent to a change in coordinate sstems (frames)
48 Projection Specification
49 Projection Characteristics Camera/Viewpoint Location Camera/Viewpoint Direction Camera/Viewpoint Orientation Camera/Viewpoint Lens (View Volume) Width/Height of Lens Front/Back Clipping Planes Parallel or Perspective Projections Parallel is special case of Perspective
50 OpenGL Camera or Projection Coordinates Visible Objects in the - direction Displa Plane centered at (,,)
51 Specifing Viewing Characteristics Fied Camera / Move World Look At View Volume / Displa Plane Specification Vector Specification
52 Camera Location Relative to World Coordinates Can be thought of in two was: Camera location is specified in world coordinates World coordinate frame is located in camera coordinates Camera transformations are reverse of World transformations
53 Fied Camera / Move World Fi the camera at a specific location/orientation Transform the world such that the camera sees the world the right wa I.e., move the world, not the camera Tpical approach for OpenGL
54 Look At Setup the camera to Look At the world Set the camera location Set the look at point Set the camera rotation angle Eample: glulookat
55 View Volume / Displa Plane Specification Specif View Volume and Displa Plane Viewing Volume Projection Plane Near Clipping Plane Far Clipping Plane
56 Fun with View Volumes All projection information is captured in view volume and projection plane. What happens if we pla with these values? Oblique Parallel Projections Non-Right Frustum Perspective Projections View Volume Values Bo Lower-Left Corner/Upper Right Corner of back and front planes Back Plane Angles/Front Plane Angles View Projection Plane Plane Lower-Left Corner/Upper-Right Corner Front Clipping Angle Plane Location Relative to View Volume Back Clipping Plane
57 Vector Specification Most fleible method of viewing specification View plane ma be anwhere with respect to the world Locate the View Plane (I.e. Projection Plane) b: View reference point (VRP) View-plane normal (VPN) (n ais) v VRP n VPN u
58 VRC Coordinate Sstem Viewing-Reference Coordinate (VRC) Sstem n-ais - along View-plane normal (VPN) v-ais projection of View-up Vector (VUP) u-ais Right hand coordinate sstem v VUP VRP n VPN u
59 Viewing Window Min/Ma u and v ranges Need not be smmetrical around VRP v (u-min, v-min) n VPN VRP (u-ma, v-ma) u
60 Center of Projection Projection-Reference Point (PRP) v VRP n VPN u Center of Projection (PRP)
61 Direction of Projection Projection-Reference Point (PRP) v PRP CW VRP u n VPN
62 Oblique Parallel Projection Vector from PRP to Center of the Window not parallel to VPN v PRP CW VRP u n VPN
63 Perspective View Volumes Back Clipping Plane View Plane Front Clipping Plane VRP VPN
64 Orthogonal View Volumes Specification of Viewing Volume Front Clipping Plane View Plane Back Clipping Plane VRP VPN DOP
65 Oblique Projections View Plane Back Clipping Plane VPN VRP DOP
66 Projection Specification in OpenGL
67 Projection Specification in OpenGL Locate World in Camera Coordinates Alternative: glulookat encapsulates world to camera coordinate transformations Select View Tpe (Pespective or Orthogonal) Set View Volume (glfrustum, glortho, gluperspective) (near clipping plane is projection plane) Conceptuall not as fleible as VRC sstem Although with world coordinate transformation, ou can obtain the same results
68 Projections in OpenGL Camera located at (,,) pointing in the direction. Up is positive direction. GL_Modelview Matri controls the world GL_Projection Matri controls the camera Vertices in Object or World Coordinates Model-View CTM Projection Vertices in Viewpoint Coordinates
69 OpenGL Move the world relative to the camera For eample: Moving the camera + along the Z ais is equivalent to moving the world along the Z ais Is rotating the camera positivel around the ais the same as rotating the world negativel around the ais?
70 OpenGL Implementation of View Volume / Displa Plane glfrustum Displa Plane is same as Near Clipping Plane Specif Lower-Left and Upper Right Corners of Near Clipping Plane Specif Near and Far Distances =-far -Z ( min, min,-near) CW ( ma, ma,-near) COP Projection Plane Near Clipping Plane
71 glfrustum Variations Displa Ais (-) does not have to go through the center of the window =-far -Z COP ( min, min,-near) CW Projection Plane ( ma, ma,-near) Near Clipping Plane
72 OpenGL Alternatives Alternative: gluperspective Specifies Frustum via viewing angles (ala Camera Lens) glortho Orthogonal Projection
73 Now What? Several issues are not address with the simple projection matries we have developed: 3D Clipping Efficienc in a Frustum Viewing Volume Hidden Surface Efficienc Solution: Use Projection Normaliation Get rid of perspective and other problem projections! Everthing is easier in an canonical, orthogonal world!
74 3D Viewing Transformation Projection Matries Input 3D World Coordinates Output 3D Normalied Device Coordinates (a.k.a. Window Coordinates) Data in 3D World Coordinates Data in 3D Camera Coordinates Entire World in Normalied Device Coordinates (NDC) Viewable World in Normalied Device Coordinates (NDC) NDC or Window Coordinates Transform World into Camera Coordinates Appl Normaliing Transformation Clip Against View Volume Project onto Projection Plane p cam = M cam p p p proj proj P = pers cam Just set to ero or (or ignore) = P ortho p p cam
75 Idea: Canonical View Volume Define Viewing Volume via Canonical View Volumes Plus: Easier Clipping Minus: Another Transformation View Volume Back Clipping Plane OpenGL s canonical view volume (other APIs ma be different): + Front Clipping Plane,,- Back Clipping Plane - DOP Back Clipping Plane + Front Clipping Plane View Volume View Plane - Front Clipping Plane - -,-,-
76 Projection Normaliation Distort world until viewing volume in world fits into a parallel canonical view volume. Find a transformation that distorts the vertices in a wa that we can use a simple canonical projection. +,,- Back Clipping Plane - + Front Clipping Plane View Volume - - -,-,-
77 Camera Transformation and Projection Normaliation for Orthogonal Views Camera Transformation in Orthogonal Views (M cam ). Convert World to Camera Coordinates Camera at origin, looking in the direction Displa plane center along the ais 2. Combinations of translate, scale, and rotate transformations Can be accomplished through camera location specification Y X Z Y (min,min,-near) X (ma, ma, -far) Z -Z Projection Normaliation for Orthographic Views (P ortho ). Translate along the ais until the front clipping plane is at the origin 2. Scale in all three dimensions until the viewing volume is in canonical form Y (min,min,-near) (ma, ma, -far) (,,) Y -Z X X
78 Projection Normaliation for Orthogonal Parallel Projections Mapping a orthogonal view volume to a canonical view volume requires two affine transformations: T ma + min ) ( + ) ( +, ma min, ma ( min ) S ( ma 2 2 2,, min ) ( ma min ) ( ma min ) these can be concatenated to The camera is pointing in the negative direction. All projectors are from infinit towards the origin. Hence P can be written as: P = ST = P = ma ma 2 2 OpenGL note: OpenGL offers just an interface for the orthogonal case using glortho(min, ma, ma, min, near, far) min min ma ma 2 2 min min ma 2 min 2 far near ma + min ma min ma + min ma min ma + min ma min ma + min ma min ma + min ma min far + near far near
79 Projection Normaliation for Orthogonal Parallel Projections = = min ma min ma min ma min ma min ma min ma near far near far near far ST M P orth Finall, the resulting matri has to be post multiplied b a simple orthogonal parallel projection + + = 2 2 min ma min ma min ma min ma min ma min ma P
80 Projection Normaliation for Oblique Parallel Projections Orthogonal parallel projection can be seen as just a special case of an oblique parallel projection. An oblique projection can be characteried b the angle of the projectors with the VP. θ φ Top and side views (see left) of a projector and the VP =. ( θ, φ) characterie the degree of obliqueness. Considering the top view (a), tanθ = p and likewise following (b): p p p can be found b = cotθ = cotφ For VP = this results to P: cotθ cotφ P = After etracting the orthogonal projection we derive an additional shear: P = M orth H( θ, φ) = cotθ cotφ
81 Projection Normaliation for Oblique Parallel Projections = = cot cot ), ( φ θ φ θ H M P orth P is not in canonical form! It is a simple shear followed b an orthographic projection. The same translation and scaling used for the orthographic case has to be inserted between the shear and the projection: = = cot cot ), ( min ma min ma min ma min ma min ma min ma φ θ φ θ near far near far near far STH M P orth + + = 2cot 2 2cot 2 min ma min ma min ma min ma min ma min ma min ma min ma P φ θ
82 Camera Transformation (M cam ) and Projection Normaliation (P pers ) for Perspective Views Camera Transformation for Perspective Views (M cam ). Convert World to Camera Coordinates Camera (COP) at origin, looking in the direction Displa plane center along the ais 2. Combinations of translate, scale, and rotate transformations Can be accomplished through camera location specification Y X Z Y (min,min,-near) Z X (ma, ma, -far) Z Projection Normaliation for Perspective Views (P pers ). Convert viewing bo to right frustum (on ais) This is because man APIs including OpenGL allow non-right viewing volumes 2. Scale the right frustum into canonical form 3. Convert viewing bo (right frustum) to a right parallelpiped Shrinking objects that are further awa Y (min,min,-near) X (ma, ma, -far) (,,) Y Z X
83 Projection Normaliation for Perspective Projections Again, find a transformation that distorts the vertices in a wa that we can use a simple canonical projection: perspective-normaliation transformation Given ) a simple perspective projection M = with VP =- and COP persp at origin: Given 2) a perspective view volume with the angle of view being 9 => frustum sides intersect VP at 45 angle. View volume is a semi infinite view pramid with: = +/-, = +/- View volume is finite b specifing the near plane = ma and the far plane = min with ma > min
84 Projection Normaliation for Perspective Projections = β α N Let N be a nonsingular matri similar to M with:, β α Appling N to a homogeneous-coordinate point: = + + = ' ' ' ' ' ' a division perspectiv e β β α β α Appling an orthographic projection along the -ais to N: = = β α M orth N = = ' Np M division perspectiv e orth Appling the result to an arbitrar point p : If we appl N followed b an orthogonal projection to a point we achieve the same result for and as appling a perspective projection to the same point!
85 Projection Normaliation for Perspective Projections Nonsingular matri N transforms the original viewing volume into a new volume. Now choosing α, β such that the new volume is the canonical view (clipping) volume. Given the sides = +/- transformed b results to = +/- and = +/- transformed b results to = +/- and The front of the view volume = ma is transformed to: The back of the view volume = min is transformed to: Now we choose: α = ma ma + min min 2 β = ma Then the plane = is mapped to the plane =- and the plane = is mapped to the plane =, hence we achieve the canonical volume: ma min min β ' ' = a + β ' ' = a + ma min N transforms the viewing volume to a right parallelepiped, a following orthographic projection is the same as a perspective transformation. N is called the perspective normaliation matri.
86 Projection Normaliation for Perspective Projections β ' ' = a + is nonlinear but preserves depth-ordering, hence > 2 ' ' > ' ' 2 Notes: Hidden surface removal works in the normalied volume. Nonlinearit can cause numerical problems due to limited resolution in the depth buffer. Onl one viewing pipeline is required b carefull choosing a projection matri to insert into the pipeline. Perspective-Normaliation Matri (N per ) converts frustum view volume into canonical orthogonal view volume: N per = far + near far near 2 far near far near
87 Projection Normaliation for nonright Perspective Projections The right (smmetric) perspective projection is a special case for an arbitrar perspective projection like the orthographic projection was for the parallel oblique case. An arbitrar perspective projection is required, e.g., for driving several large-screen projection-based VR displa tpes which. use head tracking and 2. fi the VPs w.r.t. the moving COP and which hence require dnamic frustum calculation (responsive workbenches, Holoscreens, CAVEs, ) This tpe of projection is a.k.a. off-ais projection! Do derive the projection matri for off-ais set-ups we follow the same path as we did for the parallel projection case: Insertion of a shear transformation into the projection pipeline.
88 Projection Normaliation for nonright Perspective Projections Find H which satisfies: ( ( H min min min ma ma H ( θ, φ) = H cot ) ) = min min + 2ma ma,cot ma + 2ma The resulting frustum is described b the planes: ma min ma min, = ±, = min, 2ma 2ma min ( ) ( ) = ± = ma
89 Projection Normaliation for nonright Perspective Projections Now scale the sides to achieve without changing near/far planes. = 2ma 2ma S S,, ma min ma min = ±, = ± S is without reference to since it is uniquel determined b its results on four points, here the intersection points of the near plane and the sides. Now N = α β gets the far plane to - and the near plane to with the alread chosen α = ma ma + min min 2 β = ma ma min min
90 P = Projection Normaliation for Perspective Views This results to the projection matri: pers N per SH 2( near) ma min = 2( near) ma min ma + min ma min ma + min ma min far + near far near 2 far near far near Where H converts a non-right frustum to a right frustum Where S scales the frustum into a canonical perspective view volume Where N is the Perspective-Normaliation Matri
91 Project onto Projection Plane Since normaliation changed all projections into an orthogonal projection: Just ignore the value! In effect, a non-event! In realit, we retain the -value for hiddensurface removal and shading effects. Viewable world now in Normalied Device Coordinates (NDC) or Window Coordinates
92 3D Viewing Summar Data in local Object Coordinates Data in 3D World Coordinates Data in 3D Camera Coordinates Entire World in Normalied Device Coordinates (NDC) Viewable World in Normalied Device Coordinates (NDC) (aka World Coordinates) Transform Object to World Coordinates Transform World into Camera Coordinates Appl Normaliing Transformation Clip Against View Volume CTM Model-View Projection
93 Matri Operations Specif Current Matri Stack glmatrimode( GL_MODELVIEW or GL_PROJECTION ) Other Matri or Stack Operations glloadidentit() glpushmatri() glpopmatri() Viewport usuall same as window sie viewport aspect ratio should be same as projection transformation or resulting image ma be distorted glviewport(,, width, height )
94 Projection Transformation Shape of viewing frustum Perspective projection gluperspective( fov, aspect, Near, Far ) glfrustum( left, right, bottom, top, Near, Far ) Orthographic parallel projection glortho( left, right, bottom, top, Near, Far ) gluortho2d( left, right, bottom, top ) calls glortho with values near ero
95 Appling Projection Transformations Tpical use (orthographic projection) glmatrimode( GL_PROJECTION ); glloadidentit(); glortho( left, right, bottom, top, Near, Far );
96 Viewing Transformations Position the camera/ee in the scene place the tripod down; aim camera To fl through a scene change viewing transformation and redraw scene glulookat( ee, ee, ee, aim, aim, aim, up, up, up ) up vector determines unique orientation careful of degenerate positions tripod
97 Projection Tutorial
98 Modeling Transformations Move object gltranslate{fd}(,, ) Rotate object around arbitrar ais ( ) glrotate{fd}( angle,,, ) angle is in degrees Dilate (stretch or shrink) or mirror object glscale{fd}(,, )
99 Transformation Tutorial
100 Connection: Viewing and Modeling Moving camera is equivalent to moving ever object in the world towards a stationar camera Viewing transformations are equivalent to several modeling transformations glulookat() has its own command can make our own polar view or pilot view
101 Projection is left handed Projection transformations (gluperspective, glortho) are left handed think of Near and Far as distance from view point Everthing else is right handed, including the vertees to be rendered + left handed right handed +
102 Common Transformation Usage 3 eamples of resie() routine restate projection & viewing transformations Usuall called when window resied Registered as callback for glutreshapefunc()
103 resie(): Perspective & LookAt void resie( int w, int h ) { glviewport(,, (GLsiei) w, (GLsiei) h ); glmatrimode( GL_PROJECTION ); glloadidentit(); gluperspective( 65., (GLfloat) w / h,.,. ); glmatrimode( GL_MODELVIEW ); glloadidentit(); glulookat(.,., 5.,.,.,.,.,.,. ); }
104 resie(): Perspective & Translate Same effect as previous LookAt void resie( int w, int h ) { glviewport(,, (GLsiei) w, (GLsiei) h ); glmatrimode( GL_PROJECTION ); glloadidentit(); gluperspective( 65., (GLfloat) w/h,.,. ); glmatrimode( GL_MODELVIEW ); glloadidentit(); gltranslatef(.,., -5. ); } 4
105 resie(): Ortho (part ) void resie( int width, int height ) { GLdouble aspect = (GLdouble) width / height; GLdouble left = -2.5, right = 2.5; GLdouble bottom = -2.5, top = 2.5; glviewport(,, (GLsiei) w, (GLsiei) h ); glmatrimode( GL_PROJECTION ); glloadidentit(); continued
106 resie(): Ortho (part 2) } if ( aspect <. ) { left /= aspect; right /= aspect; } else { bottom *= aspect; top *= aspect; } glortho( left, right, bottom, top, near, far ); glmatrimode( GL_MODELVIEW ); glloadidentit();
107 Compositing Modeling Transformations Problem : hierarchical objects one position depends upon a previous position robot arm or hand; sub-assemblies Solution : moving local coordinate sstem modeling transformations move coordinate sstem post-multipl column-major matrices OpenGL post-multiplies matrices
108 Compositing Modeling Transformations Problem 2: objects move relative to absolute world origin m object rotates around the wrong origin make it spin around its center or something else Solution 2: fied coordinate sstem modeling transformations move objects around fied coordinate sstem pre-multipl column-major matrices OpenGL post-multiplies matrices must reverse order of operations to achieve desired effect
109 Additional Clipping Planes At least 6 more clipping planes available Good for cross-sections Modelview matri moves clipping plane A + B + C + D < clipped glenable( GL_CLIP_PLANEi ) glclipplane( GL_CLIP_PLANEi, GLdouble* coeff )
110 Reversing Coordinate Projection Screen space back to world space glgetintegerv( GL_VIEWPORT, GLint viewport[4] ) glgetdoublev( GL_MODELVIEW_MATRIX, GLdouble mvmatri[6] ) glgetdoublev( GL_PROJECTION_MATRIX, GLdouble projmatri[6] ) gluunproject( GLdouble win, win, win, mvmatri[6], projmatri[6], GLint viewport[4], GLdouble *obj, *obj, *obj ) gluproject goes from world to screen space
Lecture 4: Viewing. Topics:
Lecture 4: Viewing Topics: 1. Classical viewing 2. Positioning the camera 3. Perspective and orthogonal projections 4. Perspective and orthogonal projections in OpenGL 5. Perspective and orthogonal projection
More informationRealtime 3D Computer Graphics Virtual Reality
Realtime 3D Comuter Grahics Virtual Realit Viewing an rojection Classical an General Viewing Transformation Pieline CPU CPU Pol. Pol. DL DL Piel Piel Per Per Verte Verte Teture Teture Raster Raster Frag
More informationChap 7, 2009 Spring Yeong Gil Shin
Three-Dimensional i Viewingi Chap 7, 29 Spring Yeong Gil Shin Viewing i Pipeline H d fi i d? How to define a window? How to project onto the window? Rendering "Create a picture (in a snthetic camera) Specification
More informationComputer Graphics. Jeng-Sheng Yeh 葉正聖 Ming Chuan University (modified from Bing-Yu Chen s slides)
Computer Graphics Jeng-Sheng Yeh 葉正聖 Ming Chuan Universit (modified from Bing-Yu Chen s slides) Viewing in 3D 3D Viewing Process Specification of an Arbitrar 3D View Orthographic Parallel Projection Perspective
More information5.8.3 Oblique Projections
278 Chapter 5 Viewing y (, y, ) ( p, y p, p ) Figure 537 Oblique projection P = 2 left right 0 0 left+right left right 0 2 top bottom 0 top+bottom top bottom far+near far near 0 0 far near 2 0 0 0 1 Because
More informationComputer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo
Computer Graphics Bing-Yu Chen National Taiwan Universit The Universit of Toko Viewing in 3D 3D Viewing Process Classical Viewing and Projections 3D Snthetic Camera Model Parallel Projection Perspective
More informationOverview. Viewing and perspectives. Planar Geometric Projections. Classical Viewing. Classical views Computer viewing Perspective normalization
Overview Viewing and perspectives Classical views Computer viewing Perspective normalization Classical Viewing Viewing requires three basic elements One or more objects A viewer with a projection surface
More information3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller
3D Viewing CMPT 361 Introduction to Computer Graphics Torsten Möller Reading Chapter 4 of Angel Chapter 6 of Foley, van Dam, 2 Objectives What kind of camera we use? (pinhole) What projections make sense
More informationChap 7, 2008 Spring Yeong Gil Shin
Three-Dimensional i Viewingi Chap 7, 28 Spring Yeong Gil Shin Viewing i Pipeline H d fi i d? How to define a window? How to project onto the window? Rendering "Create a picture (in a synthetic camera)
More informationIntroduction to Computer Graphics 4. Viewing in 3D
Introduction to Computer Graphics 4. Viewing in 3D National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: E.Angel, Interactive Computer Graphics, 5 th Ed., Addison Wesley Ref: Hearn
More informationThree-Dimensional Graphics III. Guoying Zhao 1 / 67
Computer Graphics Three-Dimensional Graphics III Guoying Zhao 1 / 67 Classical Viewing Guoying Zhao 2 / 67 Objectives Introduce the classical views Compare and contrast image formation by computer with
More informationCOMP Computer Graphics and Image Processing. a6: Projections. In part 2 of our study of Viewing, we ll look at. COMP27112 Toby Howard
Computer Graphics and Image Processing a6: Projections Tob.Howard@manchester.ac.uk Introduction In part 2 of our stud of Viewing, we ll look at The theor of geometrical planar projections Classes of projections
More information3D Viewing. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller
3D Viewing Introduction to Computer Graphics Torsten Möller Machiraju/Zhang/Möller Reading Chapter 4 of Angel Chapter 13 of Hughes, van Dam, Chapter 7 of Shirley+Marschner Machiraju/Zhang/Möller 2 Objectives
More informationCS 4731/543: Computer Graphics Lecture 5 (Part I): Projection. Emmanuel Agu
CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection Emmanuel Agu 3D Viewing and View Volume Recall: 3D viewing set up Projection Transformation View volume can have different shapes (different
More informationViewing/Projections III. Week 4, Wed Jan 31
Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munner Viewing/Projections III Week 4, Wed Jan 3 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 News etra TA coverage in lab to answer
More informationViewing/Projection IV. Week 4, Fri Jan 29
Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munner Viewing/Projection IV Week 4, Fri Jan 29 http://www.ugrad.cs.ubc.ca/~cs314/vjan2010 News etra TA office hours in lab
More informationOne or more objects A viewer with a projection surface Projectors that go from the object(s) to the projection surface
Classical Viewing Viewing requires three basic elements One or more objects A viewer with a projection surface Projectors that go from the object(s) to the projection surface Classical views are based
More informationComputer Graphics. P05 Viewing in 3D. Part 1. Aleksandra Pizurica Ghent University
Computer Graphics P05 Viewing in 3D Part 1 Aleksandra Pizurica Ghent University Telecommunications and Information Processing Image Processing and Interpretation Group Viewing in 3D: context Create views
More informationWhat does OpenGL do?
Theor behind Geometrical Transform What does OpenGL do? So the user specifies a lot of information Ee Center Up Near, far, UP EE Left, right top, bottom, etc. f b CENTER left right top bottom What does
More informationCS 428: Fall Introduction to. Viewing and projective transformations. Andrew Nealen, Rutgers, /23/2009 1
CS 428: Fall 29 Introduction to Computer Graphics Viewing and projective transformations Andrew Nealen, Rutgers, 29 9/23/29 Modeling and viewing transformations Canonical viewing volume Viewport transformation
More informationCS Computer Graphics: Transformations & The Synthetic Camera
CS 543 - Computer Graphics: Transformations The Snthetic Camera b Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) Introduction to Transformations A transformation changes an objects Size
More informationClassical and Computer Viewing. Adapted From: Ed Angel Professor of Emeritus of Computer Science University of New Mexico
Classical and Computer Viewing Adapted From: Ed Angel Professor of Emeritus of Computer Science University of New Mexico Planar Geometric Projections Standard projections project onto a plane Projectors
More informationCS 543: Computer Graphics. Projection
CS 543: Computer Graphics Projection Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Poltechnic Institute gogo@wpi.edu with lots of
More informationProjections. Brian Curless CSE 457 Spring Reading. Shrinking the pinhole. The pinhole camera. Required:
Reading Required: Projections Brian Curless CSE 457 Spring 2013 Angel, 5.1-5.6 Further reading: Fole, et al, Chapter 5.6 and Chapter 6 David F. Rogers and J. Alan Adams, Mathematical Elements for Computer
More informationFundamental Types of Viewing
Viewings Fundamental Types of Viewing Perspective views finite COP (center of projection) Parallel views COP at infinity DOP (direction of projection) perspective view parallel view Classical Viewing Specific
More informationViewing. Cliff Lindsay, Ph.D. WPI
Viewing Cliff Lindsa, Ph.D. WPI Building Virtual Camera Pipeline l Used To View Virtual Scene l First Half of Rendering Pipeline Related To Camera l Takes Geometr From ApplicaHon To RasteriaHon Stages
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theor, Algorithms, and Applications Hong Qin State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794--44 Tel: (63)632-845; Fa: (63)632-8334 qin@cs.sunsb.edu
More informationCITSTUDENTS.IN VIEWING. Computer Graphics and Visualization. Classical and computer viewing. Viewing with a computer. Positioning of the camera
UNIT - 6 7 hrs VIEWING Classical and computer viewing Viewing with a computer Positioning of the camera Simple projections Projections in OpenGL Hiddensurface removal Interactive mesh displays Parallelprojection
More information6. Modelview Transformations
6. Modelview Transformations Transformation Basics Transformations map coordinates from one frame of reference to another through matri multiplications Basic transformation operations include: - translation
More information3-Dimensional Viewing
CHAPTER 6 3-Dimensional Vieing Vieing and projection Objects in orld coordinates are projected on to the vie plane, hich is defined perpendicular to the vieing direction along the v -ais. The to main tpes
More informationComputer Graphics. Bing-Yu Chen National Taiwan University
Computer Graphics Bing-Yu Chen National Taiwan University Introduction to OpenGL General OpenGL Introduction An Example OpenGL Program Drawing with OpenGL Transformations Animation and Depth Buffering
More informationComputer Viewing. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Computer Viewing CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce the mathematics of projection Introduce OpenGL viewing functions Look at
More informationLecture 4 of 41. Lab 1a: OpenGL Basics
Lab 1a: OpenGL Basics William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://snipurl.com/1y5gc Course web site: http://www.kddresearch.org/courses/cis636 Instructor
More informationTo Do. Motivation. Demo (Projection Tutorial) What we ve seen so far. Computer Graphics. Summary: The Whole Viewing Pipeline
Computer Graphics CSE 67 [Win 9], Lecture 5: Viewing Ravi Ramamoorthi http://viscomp.ucsd.edu/classes/cse67/wi9 To Do Questions/concerns about assignment? Remember it is due tomorrow! (Jan 6). Ask me or
More informationTo Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing
Foundations of Computer Graphics (Fall 0) CS 84, Lecture 5: Viewing http://inst.eecs.berkele.edu/~cs84 To Do Questions/concerns about assignment? Remember it is due Sep. Ask me or TAs re problems Motivation
More informationComputer Graphics. Chapter 10 Three-Dimensional Viewing
Computer Graphics Chapter 10 Three-Dimensional Viewing Chapter 10 Three-Dimensional Viewing Part I. Overview of 3D Viewing Concept 3D Viewing Pipeline vs. OpenGL Pipeline 3D Viewing-Coordinate Parameters
More informationViewing/Projections IV. Week 4, Fri Feb 1
Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2008 Tamara Munzner Viewing/Projections IV Week 4, Fri Feb 1 http://www.ugrad.cs.ubc.ca/~cs314/vjan2008 News extra TA office hours in lab
More informationAnnouncements. Submitting Programs Upload source and executable(s) (Windows or Mac) to digital dropbox on Blackboard
Now Playing: Vertex Processing: Viewing Coulibaly Amadou & Mariam from Dimanche a Bamako Released August 2, 2005 Rick Skarbez, Instructor COMP 575 September 27, 2007 Announcements Programming Assignment
More informationViewing and Projection
Viewing and Projection Sheelagh Carpendale Camera metaphor. choose camera position 2. set up and organie objects 3. choose a lens 4. take the picture View Volumes what gets into the scene perspective view
More informationProjection: Mapping 3-D to 2-D. Orthographic Projection. The Canonical Camera Configuration. Perspective Projection
Projection: Mapping 3-D to 2-D Our scene models are in 3-D space and images are 2-D so we need some wa of projecting 3-D to 2-D The fundamental approach: planar projection first, we define a plane in 3-D
More informationMotivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics
Foundations of Computer Graphics Online Lecture 5: Viewing Orthographic Projection Ravi Ramamoorthi Motivation We have seen transforms (between coord sstems) But all that is in 3D We still need to make
More informationMust first specify the type of projection desired. When use parallel projections? For technical drawings, etc. Specify the viewing parameters
walters@buffalo.edu CSE 480/580 Lecture 4 Slide 3-D Viewing Continued Eamples of 3-D Viewing Must first specif the tpe of projection desired When use parallel projections? For technical drawings, etc.
More informationToday. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline
Computergrafik Today Rendering pipeline s View volumes, clipping Viewport Matthias Zwicker Universität Bern Herbst 2008 Rendering pipeline Rendering pipeline Hardware & software that draws 3D scenes on
More informationCSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Project 2 due Friday, October 12
More informationCSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11
More informationChapter 8 Three-Dimensional Viewing Operations
Projections Chapter 8 Three-Dimensional Viewing Operations Figure 8.1 Classification of planar geometric projections Figure 8.2 Planar projection Figure 8.3 Parallel-oblique projection Figure 8.4 Orthographic
More informationChap 3 Viewing Pipeline Reading: Angel s Interactive Computer Graphics, Sixth ed. Sections 4.1~4.7
Chap 3 Viewing Pipeline Reading: Angel s Interactive Computer Graphics, Sixth ed. Sections 4.~4.7 Chap 3 View Pipeline, Comp. Graphics (U) CGGM Lab., CS Dept., NCTU Jung Hong Chuang Outline View parameters
More informationOverview of Projections: From a 3D world to a 2D screen.
Overview of Projections: From a 3D world to a 2D screen. Lecturer: Dr Dan Cornford d.cornford@aston.ac.uk http://wiki.aston.ac.uk/dancornford CS2150, Computer Graphics, Aston University, Birmingham, UK
More informationFachhochschule Regensburg, Germany, February 15, 2017
s Operations Fachhochschule Regensburg, Germany, February 15, 2017 s Motivating Example s Operations To take a photograph of a scene: Set up your tripod and point camera at the scene (Viewing ) Position
More informationOpenGL Transformations
OpenGL Transformations R. J. Renka Department of Computer Science & Engineering University of North Texas 02/18/2014 Introduction The most essential aspect of OpenGL is the vertex pipeline described in
More informationTransforms II. Overview. Homogeneous Coordinates 3-D Transforms Viewing Projections. Homogeneous Coordinates. x y z w
Transforms II Overvie Homogeneous Coordinates 3- Transforms Vieing Projections 2 Homogeneous Coordinates Allos translations to be included into matri transform. Allos us to distinguish beteen a vector
More information3D Viewing. With acknowledge to: Ed Angel. Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
3D Viewing With acknowledge to: Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Classical Viewing Viewing plane projectors Classical
More informationEvening s Goals. Mathematical Transformations. Discuss the mathematical transformations that are utilized for computer graphics
Evening s Goals Discuss the mathematical transformations that are utilized for computer graphics projection viewing modeling Describe aspect ratio and its importance Provide a motivation for homogenous
More informationViewing in 3D (Chapt. 6 in FVD, Chapt. 12 in Hearn & Baker)
Viewing in 3D (Chapt. 6 in FVD, Chapt. 2 in Hearn & Baker) Viewing in 3D s. 2D 2D 2D world Camera world 2D 3D Transformation Pipe-Line Modeling transformation world Bod Sstem Viewing transformation Front-
More informationNews. Projections and Picking. Transforming View Volumes. Projections recap. Basic Perspective Projection. Basic Perspective Projection
Universit of British Columbia CPSC 44 Computer Graphics Projections and Picking Wed 4 Sep 3 project solution demo recap: projections projections 3 picking News Project solution eecutable available idea
More informationThree-Dimensional Viewing Hearn & Baker Chapter 7
Three-Dimensional Viewing Hearn & Baker Chapter 7 Overview 3D viewing involves some tasks that are not present in 2D viewing: Projection, Visibility checks, Lighting effects, etc. Overview First, set up
More informationViewing and Projection
CSCI 480 Computer Graphics Lecture 5 Viewing and Projection Shear Transformation Camera Positioning Simple Parallel Projections Simple Perspective Projections [Geri s Game, Pixar, 1997] January 26, 2011
More informationCPSC 314, Midterm Exam 1. 9 Feb 2007
CPSC, Midterm Eam 9 Feb 007 Closed book, no calculators or other electronic devices. Cell phones must be turned off. Place our photo ID face up on our desk. One single-sided sheet of handwritten notes
More informationCS 475 / CS 675 Computer Graphics. Lecture 7 : The Modeling-Viewing Pipeline
CS 475 / CS 675 Computer Graphics Lecture 7 : The Modeling-Viewing Pipeline Taonom Planar Projections Parallel Perspectie Orthographic Aonometric Oblique Front Top Side Trimetric Dimetric Isometric Caalier
More informationViewing with Computers (OpenGL)
We can now return to three-dimension?', graphics from a computer perspective. Because viewing in computer graphics is based on the synthetic-camera model, we should be able to construct any of the classical
More information1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1
Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationComputer Viewing. Prof. George Wolberg Dept. of Computer Science City College of New York
Computer Viewing Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Introduce the mathematics of projection Introduce OpenGL viewing functions Look at alternate viewing
More informationGeometry: Outline. Projections. Orthographic Perspective
Geometry: Cameras Outline Setting up the camera Projections Orthographic Perspective 1 Controlling the camera Default OpenGL camera: At (0, 0, 0) T in world coordinates looking in Z direction with up vector
More informationAnnouncement. Project 1 has been posted online and in dropbox. Due: 11:59:59 pm, Friday, October 14
Announcement Project 1 has been posted online and in dropbox Due: 11:59:59 pm, Friday, October 14 Project 1: Interactive Viewing of Two Teapots How to create a teapot? Before OpenGL 3., glutsolidteapot
More informationGetting Started. Overview (1): Getting Started (1): Getting Started (2): Getting Started (3): COSC 4431/5331 Computer Graphics.
Overview (1): Getting Started Setting up OpenGL/GLUT on Windows/Visual Studio COSC 4431/5331 Computer Graphics Thursday January 22, 2004 Overview Introduction Camera analogy Matrix operations and OpenGL
More information3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination
Rendering Pipeline 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination 3D Polygon Rendering What steps are necessary to utilize spatial coherence while drawing
More informationLast Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem
Graphics Pipeline: Projective Last Time Shadows cast ra to light stop after first intersection Reflection & Refraction compute direction of recursive ra Recursive Ra Tracing maimum number of bounces OR
More information3D Viewing and Projec5on. Taking Pictures with a Real Camera. Steps: Graphics does the same thing for rendering an image for 3D geometric objects
3D Vieing and Projec5on Taking Pictures ith a Real Camera Steps: Iden5 interes5ng objects Rotate and translate the camera to desired viepoint Adjust camera seings such as ocal length Choose desired resolu5on
More informationCSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
CSE 167: Introduction to Computer Graphics Lecture #5: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Friday: homework 1 due at 2pm Upload to TritonEd
More informationViewing and Projection
CSCI 480 Computer Graphics Lecture 5 Viewing and Projection January 25, 2012 Jernej Barbic University of Southern California Shear Transformation Camera Positioning Simple Parallel Projections Simple Perspective
More informationViewing. Reading: Angel Ch.5
Viewing Reading: Angel Ch.5 What is Viewing? Viewing transform projects the 3D model to a 2D image plane 3D Objects (world frame) Model-view (camera frame) View transform (projection frame) 2D image View
More informationChapter 5. Projections and Rendering
Chapter 5 Projections and Rendering Topics: Perspective Projections The rendering pipeline In order to view manipulate and view a graphics object we must find ways of storing it a computer-compatible way.
More informationCS 4204 Computer Graphics
CS 4204 Computer Graphics 3D Viewing and Projection Yong Cao Virginia Tech Objective We will develop methods to camera through scenes. We will develop mathematical tools to handle perspective projection.
More informationNotes. University of British Columbia
Notes Drop-bo is no. 14 You can hand in our assignments Assignment 0 due Fri. 4pm Assignment 1 is out Office hours toda 16:00 17:00, in lab or in reading room Uniersit of Uniersit of Chapter 4 - Reminder
More informationp =(x,y,d) y (0,0) d z Projection plane, z=d
Projections ffl Mapping from d dimensional space to d 1 dimensional subspace ffl Range of an projection P : R! R called a projection plane ffl P maps lines to points ffl The image of an point p under P
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin Stony Brook University (SUNY at Stony Brook) Stony Brook, New York 11794-2424 Tel: (631)632-845; Fax: (631)632-8334 qin@cs.stonybrook.edu
More informationLecture 5: Viewing. CSE Computer Graphics (Fall 2010)
Lecture 5: Viewing CSE 40166 Computer Graphics (Fall 2010) Review: from 3D world to 2D pixels 1. Transformations are represented by matrix multiplication. o Modeling o Viewing o Projection 2. Clipping
More informationAdvanced Computer Graphics (CS & SE )
Advanced Computer Graphics (CS & SE 233.420) Topics Covered Picking Pipeline Viewing and Transformations Rendering Modes OpenGL can render in one of three modes selected by glrendermode(mode) GL_RENDER
More informationComputer Viewing and Projection. Overview. Computer Viewing. David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E.
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Computer Viewing and Projection David Carr Fundamentals of Computer Graphics Spring 24 Based on Slides by E. Angel Projection 1 L Overview Computer
More informationModeling Transformations
Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,
More informationGLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner
GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionall left blank. 4.10 Concatenation of Transformations 219 in
More informationGame Architecture. 2/19/16: Rasterization
Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world
More informationViewing Transformation
CS38: Computer Graphics Viewing Transformation Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Know camera setup parameters Understand viewing and projection processes
More informationCSE328 Fundamentals of Computer Graphics
CSE328 Fundamentals of Computer Graphics Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 794--44 Tel: (63)632-845; Fax: (63)632-8334 qin@cs.sunysb.edu
More informationCSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications
CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:
More informationProf. Feng Liu. Fall /19/2016
Prof. Feng Liu Fall 26 http://www.cs.pdx.edu/~fliu/courses/cs447/ /9/26 Last time More 2D Transformations Homogeneous Coordinates 3D Transformations The Viewing Pipeline 2 Today Perspective projection
More informationModels and The Viewing Pipeline. Jian Huang CS456
Models and The Viewing Pipeline Jian Huang CS456 Vertex coordinates list, polygon table and (maybe) edge table Auxiliary: Per vertex normal Neighborhood information, arranged with regard to vertices and
More informationComputer Graphics. Viewing. Fundamental Types of Viewing. Perspective views. Parallel views. October 12, finite COP (center of projection)
Comuter Grahics Viewing October 2, 25 htt://www.hallm.ac.kr/~sunkim/teach/25/cga Funamental Tes of Viewing Persective views finite COP (center of rojection) Parallel views COP at infinit DOP (irection
More informationDetermining the 2d transformation that brings one image into alignment (registers it) with another. And
Last two lectures: Representing an image as a weighted combination of other images. Toda: A different kind of coordinate sstem change. Solving the biggest problem in using eigenfaces? Toda Recognition
More informationCMSC427 Transformations II: Viewing. Credit: some slides from Dr. Zwicker
CMSC427 Transformations II: Viewing Credit: some slides from Dr. Zwicker What next? GIVEN THE TOOLS OF The standard rigid and affine transformations Their representation with matrices and homogeneous coordinates
More informationTransformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship?
Utah School of Computing Fall 25 Transformations II CS46 Computer Graphics From Rich Riesenfeld Fall 25 Arbitrar 3D Rotation What is its inverse? What is its transpose? Can we constructivel elucidate this
More information1/29/13. Computer Graphics. Transformations. Simple Transformations
/29/3 Computer Graphics Transformations Simple Transformations /29/3 Contet 3D Coordinate Sstems Right hand (or counterclockwise) coordinate sstem Left hand coordinate sstem Not used in this class and
More information3.1 Viewing and Projection
Fall 2017 CSCI 420: Computer Graphics 3.1 Viewing and Projection Hao Li http://cs420.hao-li.com 1 Recall: Affine Transformations Given a point [xyz] > form homogeneous coordinates [xyz1] > The transformed
More informationViewing and Modeling
Viewing and Modeling Computer Science Department The Universit of Texas at Austin A Simplified Graphics ipeline Application Vertex batching & assembl Triangle assembl Triangle clipping NDC to window space
More informationSo we have been talking about 3D viewing, the transformations pertaining to 3D viewing. Today we will continue on it. (Refer Slide Time: 1:15)
Introduction to Computer Graphics Dr. Prem Kalra Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 8 3D Viewing So we have been talking about 3D viewing, the
More informationCS452/552; EE465/505. Intro to Lighting
CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections
More informationOn the Midterm Exam. Monday, 10/17 in class. Closed book and closed notes. One-side and one page cheat sheet is allowed. A calculator is allowed
On the Midterm Exam Monday, 1/17 in class Closed book and closed notes One-side and one page cheat sheet is allowed A calculator is allowed Covers the topics until the class on Wednesday, 1/12 Take-home
More informationMAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration
MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration Image formation How are objects in the world captured in an image? Phsical parameters of image formation Geometric Tpe of projection Camera
More informationCS770/870 Spring 2017 Transformations
CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points Coordinate Sstems Coordinate sstems used in graphics Screen coordinates: the
More information