-void culooks::cube::draw()
-{
- glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
-
- //cout << zoom << endl;
-
- glScalef(zoom, zoom, zoom);
- glRotatef(az, 0, 1, 0);
- glRotatef(alt, 1, 0, 0);
-
- /*
- glBegin(GL_QUADS);
- glVertex2f(-1, -1); glVertex2f(1, -1); glVertex2f(1, 1); glVertex2f(-1, 1);
- glEnd();
- */
-
- //drawBox();
- drawAll();
-
- glPopMatrix();
-}
-
-void culooks::cube::drawAll()
-{
- glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
-
- glTranslatef(-1,-1,-1);
-
- for (int iz=0; iz<l; iz++) {
- for (int iy=0; iy<l; iy++) {
- for (int ix=0; ix<l; ix++) {
- glPushMatrix();
- glTranslatef(2.0*ix/l,2.0*iy/l,2.0*iz/l);
- glScalef(2.0/l,2.0/l,2.0/l);
-
- /* draw links */
- glBegin(GL_LINES);
- glColor4f(link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 0],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 1],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 2],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 3]);
- glVertex3f(0,0,0); glVertex3f(1,0,0);
- glColor4f(link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 0],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 1],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 2],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 3]);
- glVertex3f(0,0,0); glVertex3f(0,1,0);
- glColor4f(link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 0],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 1],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 2],
- link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 3]);
- glVertex3f(0,0,0); glVertex3f(0,0,1);
- glEnd();
-
- /* draw plaquettes */
- glColor4f(1,1,1,0.5);
- glBegin(GL_QUADS);
- glColor4f(plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 0],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 1],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 2],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 3]);
- glVertex3f(0, 0, 0); glVertex3f(1, 0, 0); glVertex3f(1, 1, 0); glVertex3f(0, 1, 0);
- glColor4f(plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 0],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 1],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 2],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 3]);
- glVertex3f(0, 0, 0); glVertex3f(1, 0, 0); glVertex3f(1, 0, 1); glVertex3f(0, 0, 1);
- glColor4f(plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 0],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 1],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 2],
- plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 3]);
- glVertex3f(0, 0, 0); glVertex3f(0, 1, 0); glVertex3f(0, 1, 1); glVertex3f(0, 0, 1);
- glEnd();
-
- glPopMatrix();
- }
- }
- }
-
- glPopMatrix();
-}
-