Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

COMPUTER GRAPHICS In this assignment, you are to create an OpenGL 2D scene of yo

ID: 3783322 • Letter: C

Question

COMPUTER GRAPHICS

In this assignment, you are to create an OpenGL 2D scene of your choosing with the following requirements:

1) The scene should make sense and be intentional (not a bunch of random shapes/colors).

2) Must have at least five distinct shapes (circle is a shape).

3) Must have at least one circle using a for loop and trigonometry.

4) Must have at least five unique colors.

The zipped file assignment0.zip contains a Visual Studio 2013 C++ solution to get you started, including a skeleton file named assignment0.cpp where all your code should go. Make sure you have Visual Studio

#include "../shared/gltools.h"   // OpenGL toolkit


///////////////////////////////////////////////////////////
// Called to draw scene
void RenderScene(void)
{
   // Clear the window with current clearing color
   glClear(GL_COLOR_BUFFER_BIT);

  
   glPointSize(15.0);


  
   glBegin(GL_POINTS);
   glColor3f(3, 0, 0);
   glVertex2i(700, 700);
   glColor3f(0, 50, 0);
   glVertex2i(720, 720);
   glColor3f(0, 0, 1);
   glVertex2i(740, 740);
   glColor3f(0, 0, 0);
   glVertex2i(760, 760);
   glEnd();


   glColor3f(0, 0, 1);
   glBegin(GL_TRIANGLES);      
       glVertex2i(0,0);
       glVertex2i(640,0);
       glVertex2i(320,480);
   glEnd();

   glColor3f(1, 0, 0);
   glBegin(GL_QUADS);
       glVertex2i(800, 800);
       glVertex2i(900, 800);
       glVertex2i(700, 700);
       glVertex2i(800, 900);
      
   glEnd();

  

   // Flush drawing commands and swap the buffer
   glutSwapBuffers();
}

void TimerFunction(int value)
{
// Redraw the scene with new coordinates
glutPostRedisplay();
glutTimerFunc(16,TimerFunction, 1);
}

///////////////////////////////////////////////////////////
// Setup the rendering context
void SetupRC(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   gluOrtho2D(0, 1000.0, 0, 1000.0);
}

///////////////////////////////////////////////////////////
// Main program entry point
int main(int argc, char* argv[])
{
   glutInit(&argc, argv);
   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
   glutInitWindowSize(800,800);
    glutCreateWindow("Assignment 0");
   glutDisplayFunc(RenderScene);
   glutTimerFunc(16, TimerFunction, 1);
   SetupRC();
   glutMainLoop();
return 0;
}

Explanation / Answer

#include "../shared/gltools.h"   // OpenGL toolkit


///////////////////////////////////////////////////////////
// Called to draw scene
void RenderScene(void)
{
   // Clear the window with current clearing color
   glClear(GL_COLOR_BUFFER_BIT);

  
   glPointSize(15.0);


  
   glBegin(GL_POINTS);
   glColor3f(3, 0, 0);
   glVertex2i(700, 700);
   glColor3f(0, 50, 0);
   glVertex2i(720, 720);
   glColor3f(0, 0, 1);
   glVertex2i(740, 740);
   glColor3f(0, 0, 0);
   glVertex2i(760, 760);
   glEnd();


   glColor3f(0, 0, 1);
   glBegin(GL_TRIANGLES);      
       glVertex2i(0,0);
       glVertex2i(640,0);
       glVertex2i(320,480);
   glEnd();

   glColor3f(1, 0, 0);
   glBegin(GL_QUADS);
       glVertex2i(800, 800);
       glVertex2i(900, 800);
       glVertex2i(700, 700);
       glVertex2i(800, 900);
      
   glEnd();

  

   // Flush drawing commands and swap the buffer
   glutSwapBuffers();
}

void TimerFunction(int value)
{
// Redraw the scene with new coordinates
glutPostRedisplay();
glutTimerFunc(16,TimerFunction, 1);
}

///////////////////////////////////////////////////////////
// Setup the rendering context
void SetupRC(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   gluOrtho2D(0, 1000.0, 0, 1000.0);
}

///////////////////////////////////////////////////////////
// Main program entry point
int main(int argc, char* argv[])
{
   glutInit(&argc, argv);
   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
   glutInitWindowSize(800,800);
    glutCreateWindow("Assignment 0");
   glutDisplayFunc(RenderScene);
   glutTimerFunc(16, TimerFunction, 1);
   SetupRC();
   glutMainLoop();
return 0;
}

EXIT

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote