Programming Homework Help

Programming Homework Help. computer graphics via OpenGL

#include <cstdlib>

#include <GL/glut.h>

char KEY = 'p';
float WIDTH = 5.0;

void drawPoints()
{
    // clear the draw buffer .
    glClear(GL_COLOR_BUFFER_BIT);   // Erase everything

    glColor3ub(127, 127, 127);

    glPointSize(WIDTH);
    // create a polygon (define the vertices) 
    glBegin(GL_POINTS); {           
        glVertex2f(0.5, 0.5);
        glVertex2f(-0.6,  -0.6);
        glVertex2f( 0.0,  0.8);
        glVertex2f( 0.6, -0.6);
        glVertex2f( -0.5, 0.5);
    } glEnd();

    // flush the drawing to screen . 
    glFlush(); 
}

void drawPolygon()
{
    // clear the draw buffer .
    glClear(GL_COLOR_BUFFER_BIT);   // Erase everything

    glColor3ub(227, 227, 227);

    glLineWidth(WIDTH);

    // create a polygon (define the vertices) 
    glBegin(GL_POLYGON); {           
        glVertex2f(0.5, 0.5);
        glVertex2f(-0.6,  -0.6);
        glVertex2f( 0.0,  0.8);
        glVertex2f( 0.6, -0.6);
        glVertex2f( -0.5, 0.5);
    } glEnd();

    // flush the drawing to screen . 
    glFlush(); 
}

void drawLines()
{
    glClear(GL_COLOR_BUFFER_BIT);   // Erase everything
    glColor3ub(227, 227, 227);
    glLineWidth(WIDTH);

    glBegin(GL_LINES); {           
        glVertex2f(0.5, 0.5);
        glVertex2f(-0.6,  -0.6);
        glVertex2f( 0.0,  0.8);
        glVertex2f( 0.6, -0.6);
        glVertex2f( -0.5, 0.5);
    } glEnd();

    glFlush(); 
}

void drawLineStrip()
{
    glClear(GL_COLOR_BUFFER_BIT);   // Erase everything
    glColor3ub(227, 227, 227);
    glLineWidth(WIDTH);

    glBegin(GL_LINE_STRIP); {           
        glVertex2f(0.5, 0.5);
        glVertex2f(-0.6,  -0.6);
        glVertex2f( 0.0,  0.8);
        glVertex2f( 0.6, -0.6);
        glVertex2f( -0.5, 0.5);
    } glEnd();

    glFlush(); 
}

void drawLineLoop()
{
    glClear(GL_COLOR_BUFFER_BIT);   // Erase everything
    glColor3ub(227, 227, 227);
    glLineWidth(WIDTH);

    glBegin(GL_LINE_LOOP); {           
        glVertex2f(0.5, 0.5);
        glVertex2f(-0.6,  -0.6);
        glVertex2f( 0.0,  0.8);
        glVertex2f( 0.6, -0.6);
        glVertex2f( -0.5, 0.5);
    } glEnd();

    glFlush(); 
}
void draw_shape(){
    if (KEY == 'p')
        drawPoints();
    else if (KEY == 'g')
        drawPolygon();
    else if (KEY == 'l')
        drawLines();
    else if (KEY == 's')
        drawLineStrip();
    else if (KEY == 'o')
        drawLineLoop();

    glutPostRedisplay();
}
// Keyboard callback function ( called on keyboard event handling )
void keyboard(unsigned char key, int x, int y)
{
    if (key == 'q' || key == 'Q')
        exit(EXIT_SUCCESS);

    if (key == '1')
        WIDTH = 1.0;
    else if (key == '5')
        WIDTH = 5.0;

    KEY = key;
}

// Main execution  function 
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);      // Initialize GLUT
    glutInitWindowSize(500, 500);
    glutInitWindowPosition(200, 0);

    glutCreateWindow("OpenGL example");  // Create a window
    glutDisplayFunc(draw_shape);   // Register display callback
    glutKeyboardFunc(keyboard); // Register keyboard callback

//    gluOrtho2D(-10, 10, -10, 10);
    glutMainLoop();             // Enter main event loop

    return (EXIT_SUCCESS); 

}

maybe this code will help you with the solution because it is included with it as a help

Just follow the step-by-step instructions

Other files for more help

Programming Homework Help

 
"Our Prices Start at $11.99. As Our First Client, Use Coupon Code GET15 to claim 15% Discount This Month!!"