Mercurial > public > algo-animator
diff 34 @ 3:e4003f606e07
draw multiple rectangles with loop
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Mon, 12 Jun 2023 20:13:04 +0100 |
parents | main.c@ea3c427d922d |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/34 Mon Jun 12 20:13:04 2023 +0100 @@ -0,0 +1,55 @@ +#include <stdio.h> +#include <GL/glut.h> + + +#define HEIGHT 1080 +#define WIDTH 1920 + + +void setup() { + + // Set background dark + glClearColor(0.0, 0.0, 0.0, 1.0); + + // Set point color and size to 1 pixel + glColor3f(0.0, 1.0, 0.0); + glPointSize(5.0); + + // Matrix projection + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + + // Set the coordinates to be used with the viewport + gluOrtho2D(0, WIDTH, HEIGHT, 0); + + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); +} + + +void display() { + glClear(GL_COLOR_BUFFER_BIT); + glBegin(GL_QUADS); + glVertex2f(100.0f, 100.0f); // Bottom-left vertex of first rectangle + glVertex2f(200.0f, 100.0f); // Bottom-right vertex of first rectangle + glVertex2f(200.0f, 200.0f); // Top-right vertex of first rectangle + glVertex2f(100.0f, 200.0f); // Top-left vertex of first rectangle + glEnd(); + glFlush(); +} + + +int main(int argc, char** argv) { + + glutInit(&argc, argv); + glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); + glutInitWindowSize(WIDTH, HEIGHT); + glutCreateWindow("OpenGL Window"); + setup(); + glutDisplayFunc(display); + glutMainLoop(); + + return 0; +}