/* * 5 * /|\ * 1/ | \4 * / | \ *|\ / \ /| *| / \ | *|/ \ / \| * \ | / * 2\ | /3 * \|/ * 6 face 6 : glBegin(GL_QUADS); glVertex3f(0.0, 0.0, side / 2.0); glVertex3f(0.0, side, side / 2.0); glVertex3f(side, side, side / 2.0); glVertex3f(side, 0.0, side / 2.0); glEnd(); face 5 : glBegin(GL_QUADS); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, side, 0.0); glVertex3f(side, side, 0.0); glVertex3f(side, 0.0, 0.0); glEnd(); face 3 : glBegin(GL_QUADS); glVertex3f(side, side, 0.0); glVertex3f(side, side, side / 2.0); glVertex3f(side, 0.0, side / 2.0); glVertex3f(side, 0.0, 0.0); glEnd(); face 2 : glBegin(GL_QUADS); glVertex3f(0.0, side, 0.0); glVertex3f(0.0, side, side / 2.0); glVertex3f(side, side, side / 2.0); glVertex3f(side, side, 0.0); glEnd(); */ if(i == 5) { // column base glBegin(GL_QUADS); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.65, 0.65, 0.0); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.35, 0.65, -0.5); glVertex3f(0.35, 0.65, 0.0); glVertex3f(0.65, 0.65, 0.0); glVertex3f(0.65, 0.35, 0.0); glVertex3f(0.65, 0.35, -0.5); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.65, 0.35, -0.5); glVertex3f(0.35, 0.35, -0.5); glVertex3f(0.35, 0.65, -0.5); glEnd(); } else if(i == 190) { // column base bis glBegin(GL_QUADS); glVertex3f(0.0, 1.0, 0.0); glVertex3f(1.0, 1.0, 0.0); glVertex3f(0.65, 0.65, -0.25); glVertex3f(0.35, 0.65, -0.25); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.65, 0.35, -0.25); glVertex3f(0.65, 0.65, -0.25); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.35, 0.35, -0.25); glVertex3f(0.65, 0.35, -0.25); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glVertex3f(0.35, 0.65, -0.25); glVertex3f(0.35, 0.35, -0.25); glVertex3f(0.65, 0.65, -0.25); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.35, 0.65, -0.5); glVertex3f(0.35, 0.65, -0.25); glVertex3f(0.65, 0.65, -0.25); glVertex3f(0.65, 0.35, -0.25); glVertex3f(0.65, 0.35, -0.5); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.65, 0.35, -0.5); glVertex3f(0.35, 0.35, -0.5); glVertex3f(0.35, 0.65, -0.5); glEnd(); } else if(i == 191 || i == 192 || i == 193) { // column glBegin(GL_QUADS); glVertex3f(0.65, 0.65, 0.0); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.35, 0.65, -0.5); glVertex3f(0.35, 0.65, 0.0); glVertex3f(0.65, 0.65, 0.0); glVertex3f(0.65, 0.35, 0.0); glVertex3f(0.65, 0.35, -0.5); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.65, 0.65, -0.5); glVertex3f(0.65, 0.35, -0.5); glVertex3f(0.35, 0.35, -0.5); glVertex3f(0.35, 0.65, -0.5); glEnd(); } else if(i == 6 || i == 7 || i == 8 || i == 83 || i == 140) { // slope west -> east glBegin(GL_QUADS); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glVertex3f(1.0, 1.0, -0.5); glVertex3f(1.0, 0.0, -0.5); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(1.0, 0.0, -0.5); glVertex3f(1.0, 1.0, -0.5); glEnd(); glBegin(GL_TRIANGLES); glVertex3f(0.0, 1.0, 0.0); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 1.0, -0.5); glEnd(); } else if(i == 9 || i == 10 || i == 11 || i == 82 || i == 34) { // slope north -> south glBegin(GL_QUADS); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 1.0, -0.5); glVertex3f(1.0, 1.0, -0.5); glVertex3f(1.0, 1.0,0.0); glVertex3f(1.0, 1.0, -0.5); glVertex3f(0.0, 1.0, -0.5); glVertex3f(0.0, 1.0,0.0); glEnd(); glBegin(GL_TRIANGLES); glVertex3f(1.0, 0.0, 0.0); glVertex3f(1.0, 1.0, -0.5); glVertex3f(1.0, 1.0, 0.0); glEnd(); } else if(i == 178 || i == 228 || i == 240 || i == 242 || i == 245 || i == 255) { // slope south -> north glBegin(GL_QUADS); glVertex3f(0.0, 1.0, 0.0); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 0.0, -0.5); glVertex3f(0.0, 0.0, -0.5); glVertex3f(0.0, 0.0, -0.5); glVertex3f(1.0, 0.0, -0.5); glVertex3f(1.0, 0.0,0.0); glVertex3f(0.0, 0.0,0.0); glEnd(); glBegin(GL_TRIANGLES); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(1.0, 0.0, -0.5); glEnd(); } else if(i == 127 || i == 179 || i == 241 || i == 243 || i == 244 || i == 253 || i == 254) { // slope east -> west glBegin(GL_QUADS); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 0.0, -0.5); glVertex3f(0.0, 1.0, -0.5); glVertex3f(0.0, 0.0, -0.5); glVertex3f(0.0, 0.0,0.0); glVertex3f(0.0, 1.0,0.0); glVertex3f(0.0, 1.0, -0.5); glEnd(); glBegin(GL_TRIANGLES); glVertex3f(1.0, 1.0, 0.0); glVertex3f(0.0, 1.0, -0.5); glVertex3f(0.0, 1.0,0.0); glEnd(); } else if(i == 130 || i == 142 || i == 143 || i == 150 || i == 151) { // the west barrier glBegin(GL_QUADS); glVertex3f(0.0, 0.0, -0.5); glVertex3f(0.0, 0.0,0.0); glVertex3f(0.0, 1.0,0.0); glVertex3f(0.0, 1.0, -0.5); glEnd(); } else if(i == 131 || i == 146 || i == 147 || i == 154 || i == 155) { // the north barrier glBegin(GL_QUADS); glVertex3f(0.0, 0.0, -0.5); glVertex3f(1.0, 0.0, -0.5); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 0.0,0.0); glEnd(); } else if(i == 132 || i == 144 || i == 152) { // the south barrier glBegin(GL_QUADS); glVertex3f(0.0, 1.0, -0.5); glVertex3f(0.0, 1.0,0.0); glVertex3f(1.0, 1.0, 0.0); glVertex3f(1.0, 1.0, -0.5); glEnd(); } else if(i == 133 || i == 141 || i == 148) { // the east barrier glBegin(GL_QUADS); glVertex3f(1.0, 0.0, -0.5); glVertex3f(1.0, 1.0, -0.5); glVertex3f(1.0, 1.0,0.0); glVertex3f(1.0, 0.0,0.0); glEnd(); } else if(i == 134) { // the west and north barrier glBegin(GL_QUADS); glVertex3f(0.0, 0.0, -0.5); glVertex3f(0.0, 0.0,0.0); glVertex3f(0.0, 1.0,0.0); glVertex3f(0.0, 1.0, -0.5); glVertex3f(0.0, 0.0, -0.5); glVertex3f(1.0, 0.0, -0.5); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 0.0,0.0); glEnd(); } else if(i == 15 || i == 16) { // the big box glBegin(GL_QUADS); glVertex3f(0.0, 0.0, -0.0); glVertex3f(0.0, 1.0, -0.0); glVertex3f(1.0, 1.0, -0.0); glVertex3f(1.0, 0.0, -0.0); glVertex3f(0.0, 1.0, -0.0); glVertex3f(0.0, 1.0,0.0); glVertex3f(1.0, 1.0,0.0); glVertex3f(1.0, 1.0, -0.0); glVertex3f(1.0, 1.0, -0.0); glVertex3f(1.0, 1.0,0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(1.0, 0.0, -0.0); glEnd(); } else { // default box glBegin(GL_QUADS); /* glTexCoord2f(0.5, -0.5); */ glVertex3f(0.0, 0.0, -0.5); /* glTexCoord2f(0.0, 1.0/4.0); */ glVertex3f(0.0, 1.0, -0.5); /* glTexCoord2f(0.5, 2.0/4.0); */ glVertex3f(1.0, 1.0, -0.5); /* glTexCoord2f(1.0, 1.0/4.0); */ glVertex3f(1.0, 0.0, -0.5); /* glTexCoord2f(0.0, 1.0/4.0); */ glVertex3f(0.0, 1.0, -0.5); /* glTexCoord2f(0.0, 2.0/4.0); */ glVertex3f(0.0, 1.0,0.0); /* glTexCoord2f(0.5, 3.0/4.0); */ glVertex3f(1.0, 1.0,0.0); /* glTexCoord2f(0.5, 2.0/4.0); */ glVertex3f(1.0, 1.0, -0.5); /* glTexCoord2f(0.5, 2.0/4.0); */ glVertex3f(1.0, 1.0, -0.5); /* glTexCoord2f(0.5, 3.0/4.0); */ glVertex3f(1.0, 1.0,0.0); /* glTexCoord2f(1.0, 2.0/4.0); */ glVertex3f(1.0, 0.0, 0.0); /* glTexCoord2f(1.0, 1.0/4.0); */ glVertex3f(1.0, 0.0, -0.5); glEnd(); }