… | |
… | |
128 | diagfact = abs (rz.x) + abs (rz.y) + abs (rz.z); |
128 | diagfact = abs (rz.x) + abs (rz.y) + abs (rz.z); |
129 | //printf ("diagfact = %f\n", diagfact); |
129 | //printf ("diagfact = %f\n", diagfact); |
130 | diagfact = sqrtf (3.);//D WHY??? |
130 | diagfact = sqrtf (3.);//D WHY??? |
131 | |
131 | |
132 | glMultMatrixf (m); |
132 | glMultMatrixf (m); |
133 | glTranslatef (-p.x, -p.y, -p.z); |
|
|
134 | |
133 | |
135 | glGetFloatv (GL_PROJECTION_MATRIX, m); |
134 | glGetFloatv (GL_PROJECTION_MATRIX, m); |
136 | |
135 | |
137 | 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) ); |
136 | 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) ); |
138 | 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) ); |
137 | 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) ); |
… | |
… | |
157 | frustum.c = cone (p, d, atan (sqrt (GLdouble (w * w + h * h)) * ftan / h)); |
156 | frustum.c = cone (p, d, atan (sqrt (GLdouble (w * w + h * h)) * ftan / h)); |
158 | } |
157 | } |
159 | |
158 | |
160 | glMatrixMode (GL_MODELVIEW); |
159 | glMatrixMode (GL_MODELVIEW); |
161 | glLoadIdentity (); |
160 | glLoadIdentity (); |
|
|
161 | glTranslatef (-p.x, -p.y, -p.z); |
162 | } |
162 | } |
163 | |
163 | |
164 | void view::begin () |
164 | void view::begin () |
165 | { |
165 | { |
166 | generation++; |
166 | generation++; |