setup_lcube() { window(-800.0, 800.0, -800.0, 800.0, -800.0, 800.0); lookat(0.0, 0.0, 1500.0, 0.0, 0.0, 0.0, 0); linewidth(3); /* * Start with a very ordinary filled cube like the old demo.. */ makecube(filledthing); makecube(outlinething); backbuffer(1); }
void make_center() { glPushMatrix(); glTranslatef( F, 0, 0); makecube(W,Y,R,O,B,G); glPopMatrix(); glPushMatrix(); glTranslatef(-F, 0, 0); makecube(W,Y,R,O,B,G); glPopMatrix(); glPushMatrix(); glTranslatef( 0, F, 0); makecube(W,Y,R,O,B,G); glPopMatrix(); glPushMatrix(); glTranslatef( 0,-F, 0); makecube(W,Y,R,O,B,G); glPopMatrix(); glPushMatrix(); glTranslatef( 0, 0, F); makecube(W,Y,R,O,B,G); glPopMatrix(); glPushMatrix(); glTranslatef( 0, 0,-F); makecube(W,Y,R,O,B,G); glPopMatrix(); }
void addCubes(){ int i, j, k; //vec3 translation = vec3(0.0, 0.0, 0.0) ; for(i = 0 ; i < n ; i++){ for(j = 0 ; j < n ; j++){ for(k = 0 ; k < n ; k++){ //translation[Xaxis] = ( i/n - 0.5) * cubeSpread ; //translation[Yaxis] = ( j/n - 0.5) * cubeSpread ; //translation[Zaxis] = ( k/n - 0.5) * cubeSpread ; //colorcube(translation) ; makecube() ; glBindTexture(GL_TEXTURE_2D, texture[filter]); // Select A Texture Based On filter glTranslatef(cubeSpread,0.0f,0.0f); } glTranslatef(-(cubeSpread * n),cubeSpread,0.0f); } glTranslatef(0.0f,-(cubeSpread * n),cubeSpread); } //centers it...kind of //for(i = 0 ; i < NumVertices ; i++) points[i] = Scale(0.125,0.125,0.125) * Translate(-cubeSpread * n/ 2, -cubeSpread * n / 2, -cubeSpread * n / 2) * points[i] ; }
void make_corner(char permu, int ori,int u,int b, int l, int f, int d, int r) { glPushMatrix(); switch(permu){ case('a'): glTranslatef(-F, F,-F); glRotatef(0,0,1,0); break; case('b'): glTranslatef( F, F,-F); glRotatef(-90,0,1,0); break; case('c'): glTranslatef( F, F, F); glRotatef(-180,0,1,0); break; case('d'): glTranslatef(-F, F, F); glRotatef(-270,0,1,0); break; case('e'): glTranslatef(-F,-F,-F); glRotatef(-180,1,0,0); glRotatef(-270,0,1,0); break; case('f'): glTranslatef( F,-F,-F); glRotatef(-180,1,0,0); glRotatef(-180,0,1,0); break; case('g'): glTranslatef( F,-F, F); glRotatef(-180,1,0,0); glRotatef(-90,0,1,0); break; case('h'): glTranslatef(-F,-F, F); glRotatef(-180,1,0,0); glRotatef(-0,0,1,0); break; default: break; } switch(ori){ case(0): break; case(1): glRotatef(-240,-1,1,-1); break; case(-1): glRotatef(-120,-1,1,-1); break; default: break; } makecube(u,d,f,b,r,l); glPopMatrix(); }
void make_edge(int permu, int ori, int u, int b, int l, int f, int d, int r) { glPushMatrix(); switch(permu){ case(1): glTranslatef( 0, F,-F); glRotatef(0,0,1,0); break; case(2): glTranslatef( F, F, 0); glRotatef(-90,0,1,0); break; case(3): glTranslatef( 0, F, F); glRotatef(-180,0,1,0); break; case(4): glTranslatef(-F, F, 0); glRotatef(-270,0,1,0); break; case(5): glTranslatef(-F, 0,-F); glRotatef( 90,0,1,0); glRotatef(-90,0,0,1); break; case(6): glTranslatef( F, 0,-F); glRotatef(-90,0,1,0); glRotatef(90,0,0,1); break; case(7): glTranslatef( F, 0, F); glRotatef(-90,0,1,0); glRotatef(-90,0,0,1); break; case(8): glTranslatef(-F, 0, F); glRotatef(90,0,1,0); glRotatef(90,0,0,1); break; case(9): glTranslatef( 0,-F,-F); glRotatef(-180,0,0,1); glRotatef(0,0,1,0); break; case(10): glTranslatef( F,-F, 0); glRotatef(-180,0,0,1); glRotatef( 90,0,1,0); break; case(11): glTranslatef( 0,-F, F); glRotatef(-180,0,0,1); glRotatef(180,0,1,0); break; case(12): glTranslatef( -F,-F, 0); glRotatef(-180,0,0,1); glRotatef(270,0,1,0); break; default: break; } switch(ori){ case(0): break; case(1): glRotatef(-180, 0,1,-1); break; default: break; } makecube(u,d,f,b,r,l); glPopMatrix(); }