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

Comparing libgender/view.C (file contents):
Revision 1.74 by root, Sat Nov 6 04:26:18 2004 UTC vs.
Revision 1.75 by root, Sun Nov 7 02:28:18 2004 UTC

113 matrix perspective; 113 matrix perspective;
114#if 1 114#if 1
115 { 115 {
116 matrix &m = perspective; 116 matrix &m = perspective;
117 117
118 m(0,0) = 1.F / xmax; m(0,1) = 0; m(0,2) = 0; m(0,3) = 0; 118 m(0,0) = 1.F / xmax; m(0,1) = 0; m(0,2) = 0; m(0,3) = 0;
119 m(1,0) = 0; m(1,1) = 1.F / ymax; m(1,2) = 0; m(1,3) = 0; 119 m(1,0) = 0; m(1,1) = 1.F / ymax; m(1,2) = 0; m(1,3) = 0;
120 m(2,0) = 0; m(2,1) = 0; m(2,2) = -2.F / z_far; m(2,3) = 0; 120 m(2,0) = 0; m(2,1) = 0; m(2,2) = -1e10F / z_far; m(2,3) = 1;
121 m(3,0) = 0; m(3,1) = 0; m(3,2) = -1; m(3,3) = 0; 121 m(3,0) = 0; m(3,1) = 0; m(3,2) = -1; m(3,3) = 0;
122 122
123 glLoadMatrixf (perspective); 123 glLoadMatrixf (perspective);
124 } 124 }
125#else 125#else
126 glFrustum (-xmax, xmax, -ymax, ymax, z_near, z_far); 126 glFrustum (-xmax, xmax, -ymax, ymax, z_near, z_far);
213 switch (pass_type) 213 switch (pass_type)
214 { 214 {
215 case DEPTH: 215 case DEPTH:
216 glColorMask (1, 1, 1, 1); 216 glColorMask (1, 1, 1, 1);
217 glDepthMask (1); 217 glDepthMask (1);
218 glDisable (GL_BLEND);
218 219
219 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); 220 //glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
221 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
220 222
221 //glEnable (GL_STENCIL_TEST); // for depth-passes 223 //glEnable (GL_STENCIL_TEST); // for depth-passes
222 //glStencilOp (GL_KEEP, GL_KEEP, GL_REPLACE); 224 //glStencilOp (GL_KEEP, GL_KEEP, GL_REPLACE);
223 //glStencilFunc (GL_LESS, 1, 255); 225 //glStencilFunc (GL_LESS, 1, 255);
224 226
225 //glEnable (GL_POLYGON_OFFSET_FILL); 227 //glEnable (GL_POLYGON_OFFSET_FILL);
226 //glPolygonOffset (0, 5); 228 //glPolygonOffset (0, 5);
229 glEnable (GL_CULL_FACE);
227 glDisable (GL_MINMAX); 230 glDisable (GL_MINMAX);
228 glDepthRange (DEPTH_OFFSET, 1.); 231 glDepthRange (DEPTH_OFFSET, 1.);
229 glDepthFunc (GL_LESS); 232 glDepthFunc (GL_LESS);
230 glEnable (GL_DEPTH_TEST); 233 glEnable (GL_DEPTH_TEST);
231 glColorMask (0, 0, 0, 0); 234 glColorMask (0, 0, 0, 0);
240 glDepthFunc (GL_LESS); 243 glDepthFunc (GL_LESS);
241 glColorMask (0, 0, 0, 0); 244 glColorMask (0, 0, 0, 0);
242 glDepthMask (0); 245 glDepthMask (0);
243 glEnable (GL_DEPTH_CLAMP_NV); 246 glEnable (GL_DEPTH_CLAMP_NV);
244 glDisable (GL_STENCIL_TEST); 247 glDisable (GL_STENCIL_TEST);
248 glDisable (GL_CULL_FACE);
245 249
246 // check occlusion queries 250 // check occlusion queries
247 for (vector<oq_data>::iterator i = occ_queries.begin (); i != occ_queries.end (); ++i) 251 for (vector<oq_data>::iterator i = occ_queries.begin (); i != occ_queries.end (); ++i)
248 { 252 {
249 occ_query oq(*this, i->data, ::occ_query_result (i->id)); 253 occ_query oq(*this, i->data, ::occ_query_result (i->id));
253 occ_queries.clear (); 257 occ_queries.clear ();
254 258
255 break; 259 break;
256 260
257 case LIGHTED: 261 case LIGHTED:
262 glEnable (GL_CULL_FACE);
263 //glEnable (GL_BLEND);//TODO, only when not first lighted pass
264 glBlendFunc (GL_ONE, GL_ONE);
258 glClear (GL_STENCIL_BUFFER_BIT); 265 //glClear (GL_STENCIL_BUFFER_BIT);
259 //glEnable (GL_STENCIL_TEST); 266 //glEnable (GL_STENCIL_TEST);
260 glEnable (GL_MINMAX); 267 glEnable (GL_MINMAX);
261 glDepthRange (0., 1. - DEPTH_OFFSET); 268 glDepthRange (0., 1. - DEPTH_OFFSET);
262 glDepthFunc (GL_LESS); 269 glDepthFunc (GL_LESS);
263 glColorMask (1, 1, 1, 1); 270 glColorMask (1, 1, 1, 1);
319void linear_light::fsh () 326void linear_light::fsh ()
320{ 327{
321 using namespace shader::compile; 328 using namespace shader::compile;
322 329
323 sh_lightvec = lightvec; 330 sh_lightvec = lightvec;
324 sh_colour = float3 (c.r / 255.F, c.g / 255.F, c.b / 255.F) * (min (intensity * camdist * 0.6F + 0.9F, 1.F)); 331 sh_colour = float3 (c.r / 255.F, c.g / 255.F, c.b / 255.F) * (min (intensity * camdist * 100.F + 0.9F, 1.F));
325} 332}
326 333
327 334

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines