ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libgender/view.C
(Generate patch)

Comparing libgender/view.C (file contents):
Revision 1.40 by root, Sat Oct 9 22:43:31 2004 UTC vs.
Revision 1.41 by root, Sat Oct 9 23:20:09 2004 UTC

68 return true; 68 return true;
69} 69}
70 70
71void view::reset_projection () 71void view::reset_projection ()
72{ 72{
73 renormalize (orig, p); 73 //renormalize (orig, p);
74 74
75 glViewport (0, 0, w, h); 75 glViewport (0, 0, w, h);
76 76
77 glMatrixMode (GL_PROJECTION); 77 glMatrixMode (GL_PROJECTION);
78 glLoadIdentity (); 78 glLoadIdentity ();
82 82
83 glFrustum (-ymax * aspect, ymax * aspect, -ymax, ymax, near, far); 83 glFrustum (-ymax * aspect, ymax * aspect, -ymax, ymax, near, far);
84 84
85 d = normalize (d);//D 85 d = normalize (d);//D
86 u = normalize (u);//D 86 u = normalize (u);//D
87
87 vec3 rz = -d; 88 vec3 rz = -d;
88 vec3 rx = cross (u, rz); 89 vec3 rx = cross (u, rz);
89 vec3 ry = cross (rz, rx); 90 vec3 ry = cross (rz, rx);
90 91
91 matrix &m = projection; 92 matrix &m = projection;
93 m(1,0) = ry.x; m(1,1) = ry.y; m(1,2) = ry.z; m(1,3) = 0; 94 m(1,0) = ry.x; m(1,1) = ry.y; m(1,2) = ry.z; m(1,3) = 0;
94 m(2,0) = rz.x; m(2,1) = rz.y; m(2,2) = rz.z; m(2,3) = 0; 95 m(2,0) = rz.x; m(2,1) = rz.y; m(2,2) = rz.z; m(2,3) = 0;
95 m(3,0) = 0; m(3,1) = 0; m(3,2) = 0; m(3,3) = 1; 96 m(3,0) = 0; m(3,1) = 0; m(3,2) = 0; m(3,3) = 1;
96 97
97 diagfact = abs (rz.x) + abs (rz.y) + abs (rz.z); 98 diagfact = abs (rz.x) + abs (rz.y) + abs (rz.z);
99 diagfact = sqrtf (3.);//D WHY???
100 //printf ("diagfact = %f\n", diagfact);
98 101
99 glMultMatrixf (m); 102 glMultMatrixf (m);
100 glTranslatef (-p.x, -p.y, -p.z); 103 glTranslatef (-p.x, -p.y, -p.z);
101 104
102 glGetFloatv (GL_PROJECTION_MATRIX, m); 105 glGetFloatv (GL_PROJECTION_MATRIX, m);
132 i->first->event (oq); 135 i->first->event (oq);
133 } 136 }
134 137
135 occ_queries.clear (); 138 occ_queries.clear ();
136 139
137 nextfar = near; 140 nextfar = near + 1.F;
138 world.detect_visibility (*this); 141 world.detect_visibility (*this);
139 printf ("far %f nf %f RCP %f,%f,%f +%f\n", far, nextfar, 142 printf ("far %f nf %f RCP %f,%f,%f +%f\n", far, nextfar,
140 frustum.r.n.x, 143 frustum.r.n.x,
141 frustum.r.n.y, 144 frustum.r.n.y,
142 frustum.r.n.z, 145 frustum.r.n.z,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines