Cube and Pyramid 3D Object

Hi,

I have a question. I managed to run a program to create 2 objects; pyramid and cube but it includes colours. I was wondering which part of my coding I should remove to remove the colours and make the cube and pyramid white only? I am still a beginner only.

/
// Test
// CGI
//

#ifdef APPLE
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

#include <stdio.h>
#include <stdlib.h>

static int drawCube = 1; // option to draw the cube
static int drawPyramid = 1; // option to draw the pyramid

static int cubeRotating = 0; // on/off rotaion of the cube
static int cubeRotateAngle = 0; // current rotation angle of the cube

// Draw a pyramid of size 2, centered at (0,0,0)
void pyramid(int wireframe) {

if (wireframe) {
    // Set wireframe mode
    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
    glColor3f(0.7f, 0.7f, 0.7f);
} else {
    // Set fill-mode
    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    glColor3f(1, 1, 1);
}

// Draw the base square
glBegin(GL_QUADS);
glVertex3f(-1, 0, -1);
glVertex3f(-1, 0,  1);
glVertex3f( 1, 0,  1);
glVertex3f( 1, 0, -1);
glEnd();

// Draw four side triangles
glBegin(GL_TRIANGLE_FAN);

// the commond point of the four triangles
glVertex3f(0, 1.4, 0);

// Base points of each triangle
glVertex3f(-1, 0, -1);
glVertex3f(-1, 0,  1);

glVertex3f(-1, 0,  1);
glVertex3f( 1, 0,  1);

glVertex3f( 1, 0,  1);
glVertex3f( 1, 0, -1);

glVertex3f( 1, 0, -1);
glVertex3f(-1, 0, -1);

glEnd();

}

// Draw a cube of size 1, with one corner at (0,0,0)
void cube(int wireframe) {

if (wireframe) {
    // Set wireframe mode
    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
    glColor3f(0.7f, 0.7f, 0.7f);
} else {
    // Set fill-mode
    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
}

glBegin(GL_QUADS);

// bottom side
if (!wireframe) glColor3f(0, 0, 0); // each point using a different color
glVertex3f(0, 0, 0);
if (!wireframe) glColor3f(0, 0, 1);
glVertex3f(0, 0, 1);
if (!wireframe) glColor3f(1, 0, 1);
glVertex3f(1, 0, 1);
if (!wireframe) glColor3f(1, 0, 0);
glVertex3f(1, 0, 0);

// top side
if (!wireframe) glColor3f(0, 1, 0);
glVertex3f(0, 1, 0);
if (!wireframe) glColor3f(0, 1, 1);
glVertex3f(0, 1, 1);
if (!wireframe) glColor3f(1, 1, 1);
glVertex3f(1, 1, 1);
if (!wireframe) glColor3f(1, 1, 0);
glVertex3f(1, 1, 0);

// front side
if (!wireframe) glColor3f(0, 0, 0);
glVertex3f(0, 0, 0);
if (!wireframe) glColor3f(0, 1, 0);
glVertex3f(0, 1, 0);
if (!wireframe) glColor3f(1, 1, 0);
glVertex3f(1, 1, 0);
if (!wireframe) glColor3f(1, 0, 0);
glVertex3f(1, 0, 0);

// back side
if (!wireframe) glColor3f(0, 0, 1);
glVertex3f(0, 0, 1);
if (!wireframe) glColor3f(0, 1, 1);
glVertex3f(0, 1, 1);
if (!wireframe) glColor3f(1, 1, 1);
glVertex3f(1, 1, 1);
if (!wireframe) glColor3f(1, 0, 1);
glVertex3f(1, 0, 1);

// left side
if (!wireframe) glColor3f(0, 0, 0);
glVertex3f(0, 0, 0);
if (!wireframe) glColor3f(0, 0, 1);
glVertex3f(0, 0, 1);
if (!wireframe) glColor3f(0, 1, 1);
glVertex3f(0, 1, 1);
if (!wireframe) glColor3f(0, 1, 0);
glVertex3f(0, 1, 0);

// right side
if (!wireframe) glColor3f(1, 0, 0);
glVertex3f(1, 0, 0);
if (!wireframe) glColor3f(1, 0, 1);
glVertex3f(1, 0, 1);
if (!wireframe) glColor3f(1, 1, 1);
glVertex3f(1, 1, 1);
if (!wireframe) glColor3f(1, 1, 0);
glVertex3f(1, 1, 0);

glEnd();

}

// Handle key-pressed even
void keyPressed(unsigned char key, int x, int y) {

switch (key) {
    case 27:    // ESC key
        exit(0);
        break;
    case 'c': case 'C':  // set options to draw the cube only
        drawCube = 1;
        drawPyramid = 0;
        break;
    case 'p': case 'P':  // set options to draw the pyramid only
        drawCube = 0;
        drawPyramid = 1;
        break;
    case 'a': case 'A':  // set options to draw both objects
        drawCube = 1;
        drawPyramid = 1;
        break;
}

glutPostRedisplay();

}

// function to update rotation of the cube
void timer(int frame)
{
cubeRotateAngle += 1; // make the cube rotate
glutPostRedisplay(); // update the display

// set timer for update for next frame
if (cubeRotating) {
    glutTimerFunc(40, timer, 0);
}

}

// Handle mouse-button pressed to turn on/off the animation
void mousePressed(int button, int state, int x, int y) {
if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
cubeRotating = !cubeRotating;

    if (cubeRotating) {
        // Start the timer
        glutTimerFunc(40, timer, 0);
    }
}

}

// Draw the whole scene
void display(void) {

// Reset the drawing buffers
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

// Draw the cube if requested
if (drawCube) {
    glPushMatrix();

    // Place the cube at some distance
    glTranslatef(1.5f, 0, 1);

    // Rotate the cube (as its current rotation angle)
    glRotatef(cubeRotateAngle, 1, 1, 1);
    // make the rotation axis going through the center of the cube
    glTranslatef(-0.5f, -0.5f, -0.5f);

    cube(0); // draw wireframe version
    cube(1); // draw color version

    glPopMatrix();
}

// Draw the pyramid if requested
if (drawPyramid) {

    glPushMatrix();

    // Pose the pyramid
    glRotatef(30, 0, 1, 0);
    glTranslatef(-1.5f, 0, -1);

    pyramid(0); // draw wireframe version
    pyramid(1); // draw color version

    glPopMatrix();
}

glFlush();
glutSwapBuffers();

}

// Called when the window is resized.
void reshape(int w, int h) {

glViewport(0, 0, w, h);

// Setup projection matrix
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0, (GLfloat) w / (GLfloat) h, 0.1, 200.0);

// Setup model view matrix
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 3.0, 5.0,    // look from
          0.0, 0.0, 0.0,    // look to
          0.0, 1.0, 0.0);

}

// Initialize OpenGL parameters
void init() {
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // black background
glEnable(GL_DEPTH_TEST); // Enable depth-test to remove hidden faces
}

int main(int argc, char **argv) {

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);

glutInitWindowSize(800, 600);
glutInitWindowPosition(100, 100);
glutCreateWindow("Tutor-Marked Assignment");

// Setup callback functions
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyPressed);
glutMouseFunc(mousePressed);

init();

glutMainLoop();
return 0;

}

Best Regards,
Mohamed Ismail