10 #define SELECTBUF_SIZE MAX_PICK*4
16 using namespace GFXMatrices;
23 float left, right, bottom, top, fnear, ffar;
26 glMatrixMode( GL_PROJECTION );
29 glGetIntegerv( GL_VIEWPORT, viewport );
30 gluPickMatrix( x, viewport[3]-y, xsize, ysize, viewport );
34 glRenderMode( GL_SELECT );
53 glColor3f( 1.0, 1.0, 0.0 );
54 glVertex3i( 2, 0, 0 );
55 glVertex3i( 2, 6, 0 );
56 glVertex3i( 6, 6, 0 );
57 glVertex3i( 6, 0, 0 );
61 glColor3f( 0.0, 1.0, 1.0 );
62 glVertex3i( 3, 2, -1 );
63 glVertex3i( 3, 8, -1 );
64 glVertex3i( 8, 8, -1 );
65 glVertex3i( 8, 2, -1 );
69 glColor3f( 1.0, 0.0, 1.0 );
70 glVertex3i( 0, 2, -2 );
71 glVertex3i( 0, 7, -2 );
72 glVertex3i( 5, 7, -2 );
73 glVertex3i( 5, 2, -2 );
82 int num_hits = glRenderMode( GL_RENDER );
83 glRenderMode( GL_SELECT );
85 assert( num_hits >= 0 && num_hits <= 1 );
91 int num_hits = glRenderMode( GL_RENDER );
92 assert( num_hits != -1 );
95 for (
int a = 0;
a < num_hits;
a++) {
100 glMatrixMode( GL_PROJECTION );