Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // OpenGL_lab1.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <stdlib.h>
- #include "glut.h"
- #include <cmath>
- using namespace std;
- int wybor;
- const double PI = 3.14;
- enum
- {
- EXIT,
- Points,
- Lines,
- LinesLoop,
- Triangles,
- TrianglesStrip,
- TriangleFan,
- Quads,
- QuadStrip,
- Polygon
- };
- void DisplayScene()
- {
- glClearColor(0.0, 0.0, 0.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
- switch (wybor)
- {
- case Points:
- glBegin(GL_POINTS);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case Lines:
- glBegin(GL_LINES);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case LinesLoop:
- glBegin(GL_LINE_LOOP);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case Triangles:
- glBegin(GL_TRIANGLES);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case TrianglesStrip:
- glBegin(GL_TRIANGLE_STRIP);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case TriangleFan:
- glBegin(GL_TRIANGLE_FAN);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case Quads:
- glBegin(GL_QUADS);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case QuadStrip:
- glBegin(GL_QUAD_STRIP);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case Polygon:
- glBegin(GL_POLYGON);
- glColor3f(0.68, 0.85, 0.9);
- break;
- case EXIT:
- break;
- }
- double x, y;
- for (int i = 0; i < 20; i++)
- {
- y = 0.5*sin((2 * PI*i) / 20.0);
- x = 0.5*cos((2 * PI*i) / 20.0);
- glVertex2f(x, y);
- }
- glEnd();
- glFlush();
- glutSwapBuffers();
- }
- void Reshape(int width, int height)
- {
- DisplayScene();
- }
- void Menu(int value)
- {
- wybor = value;
- DisplayScene();
- }
- int main(int argc, char *argv[])
- {
- glutInit(&argc, argv);
- glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
- glutInitWindowSize(500, 500);
- glutCreateWindow("Pierwszy program");
- glutDisplayFunc(DisplayScene);
- glutReshapeFunc(Reshape);
- glutCreateMenu(Menu);
- glutAddMenuEntry("Punkty", Points);
- glutAddMenuEntry("Linie", Lines);
- glutAddMenuEntry("LinieLoop", LinesLoop);
- glutAddMenuEntry("Trójkąty", Triangles);
- glutAddMenuEntry("TrójkątyStrip", TrianglesStrip);
- glutAddMenuEntry("TrójkątyFan", TriangleFan);
- glutAddMenuEntry("Czworokąt", Quads);
- glutAddMenuEntry("CzworokątStrip", QuadStrip);
- glutAddMenuEntry("Wielokąt", Polygon);
- glutAddMenuEntry("WYJŚCIE", EXIT);
- glutAttachMenu(GLUT_RIGHT_BUTTON);
- glutMainLoop();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement