| 312 | | //glPushMatrix(); |
|---|
| 313 | | //glLoadIdentity(); |
|---|
| 314 | | //glMatrixMode(GL_PROJECTION); |
|---|
| 315 | | //GLfloat m[16]; |
|---|
| 316 | | //glGetFloatv(GL_PROJECTION_MATRIX, m); |
|---|
| 317 | | //glLoadIdentity(); |
|---|
| 318 | | //glOrtho(-1,1,-1,1,-1,1); |
|---|
| 319 | | |
|---|
| 320 | | volume.getBounds(min, max); |
|---|
| 321 | | static GLdouble n[6][3] = { |
|---|
| 322 | | {-1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {1.0, 0.0, 0.0}, |
|---|
| 323 | | {0.0, -1.0, 0.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, -1.0} |
|---|
| 324 | | }; |
|---|
| 325 | | static GLint faces[6][4] = { |
|---|
| 326 | | { 0, 1, 2, 3}, { 3, 2, 6, 7}, { 7, 6, 5, 4}, |
|---|
| 327 | | { 4, 5, 1, 0}, { 5, 6, 2, 1}, { 7, 4, 0, 3} |
|---|
| 328 | | }; |
|---|
| 329 | | |
|---|
| 330 | | GLdouble v[8][3]; |
|---|
| 331 | | v[0][0] = v[1][0] = v[2][0] = v[3][0] = min[0]; |
|---|
| 332 | | v[4][0] = v[5][0] = v[6][0] = v[7][0] = max[0]; |
|---|
| 333 | | v[0][1] = v[1][1] = v[4][1] = v[5][1] = min[1]; |
|---|
| 334 | | v[2][1] = v[3][1] = v[6][1] = v[7][1] = max[1]; |
|---|
| 335 | | v[0][2] = v[3][2] = v[4][2] = v[7][2] = min[2]; |
|---|
| 336 | | v[1][2] = v[2][2] = v[5][2] = v[6][2] = max[2]; |
|---|
| 337 | | glColor3f(0.3,0.4,0.6); |
|---|
| 338 | | for(UInt32 i = 0; i<6; i++) |
|---|
| 339 | | { |
|---|
| 340 | | glBegin(GL_QUADS); |
|---|
| 341 | | glNormal3dv(&n[i][0]); |
|---|
| 342 | | glVertex3dv(&v[faces[i][0]][0]); |
|---|
| 343 | | glNormal3dv(&n[i][0]); |
|---|
| 344 | | glVertex3dv(&v[faces[i][1]][0]); |
|---|
| 345 | | glNormal3dv(&n[i][0]); |
|---|
| 346 | | glVertex3dv(&v[faces[i][2]][0]); |
|---|
| 347 | | glNormal3dv(&n[i][0]); |
|---|
| 348 | | glVertex3dv(&v[faces[i][3]][0]); |
|---|
| 349 | | glEnd(); |
|---|
| 350 | | } |
|---|
| 351 | | //glLoadMatrixf(m); |
|---|
| 352 | | //glMatrixMode(GL_MODELVIEW); |
|---|
| 353 | | //glPopMatrix(); |
|---|
| | 314 | //glPushMatrix(); |
|---|
| | 315 | //glLoadIdentity(); |
|---|
| | 316 | //glMatrixMode(GL_PROJECTION); |
|---|
| | 317 | //GLfloat m[16]; |
|---|
| | 318 | //glGetFloatv(GL_PROJECTION_MATRIX, m); |
|---|
| | 319 | //glLoadIdentity(); |
|---|
| | 320 | //glOrtho(-1,1,-1,1,-1,1); |
|---|
| | 321 | |
|---|
| | 322 | |
|---|
| | 323 | volume.getBounds(min, max); |
|---|
| | 324 | static GLdouble n[6][3] = { |
|---|
| | 325 | {-1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {1.0, 0.0, 0.0}, |
|---|
| | 326 | {0.0, -1.0, 0.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, -1.0} |
|---|
| | 327 | }; |
|---|
| | 328 | static GLint faces[6][4] = { |
|---|
| | 329 | { 0, 1, 2, 3}, { 3, 2, 6, 7}, { 7, 6, 5, 4}, |
|---|
| | 330 | { 4, 5, 1, 0}, { 5, 6, 2, 1}, { 7, 4, 0, 3} |
|---|
| | 331 | }; |
|---|
| | 332 | |
|---|
| | 333 | GLdouble v[8][3]; |
|---|
| | 334 | v[0][0] = v[1][0] = v[2][0] = v[3][0] = min[0]; |
|---|
| | 335 | v[4][0] = v[5][0] = v[6][0] = v[7][0] = max[0]; |
|---|
| | 336 | v[0][1] = v[1][1] = v[4][1] = v[5][1] = min[1]; |
|---|
| | 337 | v[2][1] = v[3][1] = v[6][1] = v[7][1] = max[1]; |
|---|
| | 338 | v[0][2] = v[3][2] = v[4][2] = v[7][2] = min[2]; |
|---|
| | 339 | v[1][2] = v[2][2] = v[5][2] = v[6][2] = max[2]; |
|---|
| | 340 | glColor3f(0.3,0.4,0.6); |
|---|
| | 341 | for(UInt32 i = 0; i<6; i++) |
|---|
| | 342 | { |
|---|
| | 343 | glBegin(GL_QUADS); |
|---|
| | 344 | glNormal3dv(&n[i][0]); |
|---|
| | 345 | glVertex3dv(&v[faces[i][0]][0]); |
|---|
| | 346 | glNormal3dv(&n[i][0]); |
|---|
| | 347 | glVertex3dv(&v[faces[i][1]][0]); |
|---|
| | 348 | glNormal3dv(&n[i][0]); |
|---|
| | 349 | glVertex3dv(&v[faces[i][2]][0]); |
|---|
| | 350 | glNormal3dv(&n[i][0]); |
|---|
| | 351 | glVertex3dv(&v[faces[i][3]][0]); |
|---|
| | 352 | glEnd(); |
|---|
| | 353 | } |
|---|
| | 354 | //glLoadMatrixf(m); |
|---|
| | 355 | //glMatrixMode(GL_MODELVIEW); |
|---|
| | 356 | //glPopMatrix(); |
|---|