… | |
… | |
70 | m(2,0) = rz.x; m(2,1) = rz.y; m(2,2) = rz.z; m(2,3) = -p.z; |
70 | m(2,0) = rz.x; m(2,1) = rz.y; m(2,2) = rz.z; m(2,3) = -p.z; |
71 | m(3,0) = 0; m(3,1) = 0; m(3,2) = 0; m(3,3) = 1; |
71 | m(3,0) = 0; m(3,1) = 0; m(3,2) = 0; m(3,3) = 1; |
72 | |
72 | |
73 | glMultMatrixf ((GLfloat *)m.data); |
73 | glMultMatrixf ((GLfloat *)m.data); |
74 | |
74 | |
75 | //glTranslatef (-p.x, -p.y, -p.z); |
|
|
76 | |
|
|
77 | glGetFloatv (GL_PROJECTION_MATRIX, (GLfloat *)&m); |
75 | glGetFloatv (GL_PROJECTION_MATRIX, (GLfloat *)&m); |
78 | |
76 | |
79 | ctx.frustum.l = plane ( m(3,0) + m(0,0), m(3,1) + m(0,1), m(3,2) + m(0,2), m(3,3) + m(0,3) ); |
77 | ctx.frustum.l = plane ( m(3,0) + m(0,0), m(3,1) + m(0,1), m(3,2) + m(0,2), m(3,3) + m(0,3) ); |
80 | ctx.frustum.r = plane ( m(3,0) - m(0,0), m(3,1) - m(0,1), m(3,2) - m(0,2), m(3,3) - m(0,3) ); |
78 | ctx.frustum.r = plane ( m(3,0) - m(0,0), m(3,1) - m(0,1), m(3,2) - m(0,2), m(3,3) - m(0,3) ); |
81 | ctx.frustum.b = plane ( m(3,0) + m(1,0), m(3,1) + m(1,1), m(3,2) + m(1,2), m(3,3) + m(1,3) ); |
79 | ctx.frustum.b = plane ( m(3,0) + m(1,0), m(3,1) + m(1,1), m(3,2) + m(1,2), m(3,3) + m(1,3) ); |