- Timestamp:
- 02/19/07 09:16:59 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/src/main.cpp
r2090 r2127 8 8 9 9 Camera *cameras = NULL; 10 GLuint numCameras = 0;10 int numCameras = 0; 11 11 12 12 Color *colors = NULL; 13 13 14 GLuint **histogram = NULL, 15 14 int **histogram = NULL; 15 GLuint *queries = NULL; 16 16 17 17 Mesh *mesh = NULL; … … 28 28 bRemoveRedundantVertices = GL_TRUE; 29 29 30 GLuint cameraType = 0,30 int cameraType = 0, 31 31 numDemandedTriangles = 0; 32 32 … … 174 174 } 175 175 176 void VMI::updateHWAcceleration(Change *c) { 177 178 #ifdef VERTEX_ARRAY_INTERLEAVE 179 if (interleave != NULL) free(interleave); 180 interleave = setupInterleave(mesh, colors); 181 #endif 182 #ifdef VERTEX_ARRAY 183 updateVertexArray(mesh, c); 184 #endif 185 #ifdef VERTEX_BUFFER_OBJECTS 186 updateVertexBufferObjects(mesh, c); 187 #endif 188 189 } 190 176 191 void VMI::setOrthographicProjection(void) { 177 192 // Switch to projection mode … … 208 223 void VMI::renderGeometry(void) { 209 224 #ifdef IMMEDIATE_MODE 210 GLuint i, v1, v2, v3;225 int i, v1, v2, v3; 211 226 212 227 // Immediate mode … … 228 243 #else 229 244 #ifdef VERTEX_ARRAY 230 glDrawArrays(GL_TRIANGLES, 0, mesh-> currentNumTriangles * 3);245 glDrawArrays(GL_TRIANGLES, 0, mesh->numTriangles * 3); 231 246 #endif 232 247 #ifdef VERTEX_ARRAY_INTERLEAVE … … 235 250 #endif 236 251 #ifdef VERTEX_BUFFER_OBJECTS 237 glDrawArrays(GL_TRIANGLES, 0, mesh-> currentNumTriangles * 3);252 glDrawArrays(GL_TRIANGLES, 0, mesh->numTriangles * 3); 238 253 #endif 239 254 … … 264 279 glutSwapBuffers(); 265 280 } 266 void VMI::renderScene(GLuint **histogram, GLuint numCameras) 267 { 268 GLuint i; 281 282 void VMI::resetProjectedAreas(int **histogram, int numCameras) { 283 int i = 0; 284 285 // Reset the projected areas for all cameras 286 for (i=0; i<numCameras; i++) 287 resetSWHistogram(histogram[i], mesh->numTriangles); 288 } 289 290 void VMI::getProjectedAreas(int **histogram, int numCameras) 291 { 292 int i; 269 293 270 294 // draw to the frame buffer 271 295 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fb); 272 273 // Apply HW acceleration OpenGL Technique 274 applyHWAcceleration(); 275 276 glDrawBuffer(GL_BACK); 277 glReadBuffer(GL_BACK); 296 297 //glDrawBuffer(GL_BACK); 298 //glReadBuffer(GL_BACK); 278 299 279 300 // Get the projected areas for all cameras … … 312 333 /////////////////////////////////////////////////////////////////////////// 313 334 } 314 void VMI:: renderSceneWin(GLuint **histogram, GLuint numCameras, Change *c)315 { 316 GLuint i, j, t, background;335 void VMI::getProjectedAreasWin(int **histogram, int numCameras, Change *c) 336 { 337 int i, j, t, background; 317 338 int del_area, mod_area; 318 339 GLfloat min[3], max[3]; … … 325 346 //printf("\n(%f,%f,%f)-(%f,%f,%f)\n", min[0], min[1], min[2], max[0], max[1], max[2]); 326 347 327 // ApplyHW acceleration OpenGL Technique328 applyHWAcceleration();329 330 glDrawBuffer(GL_BACK);331 glReadBuffer(GL_BACK);348 // Update HW acceleration OpenGL Technique 349 updateHWAcceleration(c); 350 351 //glDrawBuffer(GL_BACK); 352 //glReadBuffer(GL_BACK); 332 353 333 354 // Get the projected areas for all cameras … … 355 376 mod_area = 0; 356 377 357 for (j=0; j< ( GLuint)c->numDel; j++) {378 for (j=0; j<c->numDel; j++) { 358 379 t = c->deleted[j].id; 359 380 del_area += histogram[i][t + 1]; … … 362 383 } 363 384 364 for (j=0; j< ( GLuint)c->numMod; j++) {385 for (j=0; j<c->numMod; j++) { 365 386 t = c->modified[j].id; 366 387 del_area += histogram[i][t + 1]; … … 371 392 getSWHistogramWin(histogram[i], pixels, min, max, c); 372 393 373 for (j=0; j< ( GLuint)c->numMod; j++) {394 for (j=0; j<c->numMod; j++) { 374 395 t = c->modified[j].id; 375 396 mod_area += histogram[i][t + 1]; … … 425 446 426 447 glDeleteBuffersARB(1, &color_buf); 448 449 //free(pbuf_vertices); 450 //free(pbuf_colors); 451 452 buf_vertices = NULL; 453 buf_colors = NULL; 454 455 #endif 456 #ifdef VERTEX_ARRAY 457 //free(pbuf_vertices); 458 //free(pbuf_colors); 459 460 buf_vertices = NULL; 461 buf_colors = NULL; 427 462 #endif 428 463 … … 457 492 458 493 start = clock(); 494 495 // Apply HW acceleration OpenGL Technique 496 applyHWAcceleration(); 459 497 460 498 getProjectedAreas(histogram, numCameras);
Note: See TracChangeset
for help on using the changeset viewer.