Download presentation
Presentation is loading. Please wait.
1
1 Lecture 7 Geometrical Transformations: 2D transformations 3D transformations Matrix representation OpenGL functions
2
2 Rendering Pipeline
3
3
4
4
5
5
6
6 Basic 2D Transformations
7
7
8
8
9
9 Matrix representation
10
10 Combination of 2D transformations
11
11 2x2 matrices
12
12 2x2 matrices
13
13 2x2 matrices
14
14 2x2 matrices
15
15 2x2 matrices Only rotation, scaling, and shear can be represented in 2x2 matrix form. These are linear transformations.
16
16 Linear transformations
17
17 2D Translation: 3x3 matrix
18
18 Homogeneous coordinates
19
19 Basic 2D transformations in homogeneous coordinates
20
20 Affine transformations
21
21 Projections
22
22 Matrix compositions
23
23 Matrix compositions
24
24 Matrix compositions
25
25 3D transformations
26
26 Basic 3D transformations
27
27 Basic 3D transformations
28
28 OpenGL Matrix Stacks OpenGL works with stacks of 4x4 matrices: glMatrixMode(enum mode); mode: GL_MODELVIEW GL_PROJECTION GL_TEXTURE Specifies whether the modelview, projection or texture matrix will be modified.
29
29 OpenGL Matrix Stacks glLoadIdentity(void); Clears the currently modifiable matrix for future transformation instructions. Typically we call this instruction before specifying modeling, viewing or projection transformations.
30
30 OpenGL Matrix Stacks Manipulating stacks: the OpenGL calls to push, pop, or multiply top of stack glLoadMatrix(void); glMultMatrix(void); glPushMatrix(void); the topmost matrix is copied glPopMatrix(void); the topmost matrix is destroyed All vertices of the object are multiplied by the matrix.
31
31 OpenGL Matrix Stacks Manipulating stacks: the OpenGL calls to push, pop, or multiply top of stack glLoadMatrix(const type *m); glMultMatrix(const type *m); m1 m5 m9 m13 m2 m6 m10 m14 m3 m7 m11 m15 m4 m8 m12 m16
32
32 OpenGL Matrix Stacks Manipulating stacks: the OpenGL calls to push, pop, or multiply top of stack glPushMatrix(void); the topmost matrix is copied glPopMatrix(void); the topmost matrix is destroyed All vertices of the object are multiplied by the matrix.
33
33 OpenGL Transformations glTranslate(TYPE x, TYPE y, TYPE z); Multiplies the current matrix by a translation matrix. glRotate(TYPE angle, TYPE x, TYPE y, TYPE z); Multiplies the current matrix by a rotation matrix. glScale(TYPE x, TYPE y, TYPE z); Multiplies the current matrix by a scaling matrix.
34
34 Summary Types of transformations: –linear –affine –projective Representation of transformations: –3x3 and 4x4 matrices –homogeneous coordinates Compositions of transformations OpenGL Matrix Instructions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.