view main.c @ 3:e4003f606e07

draw multiple rectangles with loop
author Dennis C. M. <dennis@denniscm.com>
date Mon, 12 Jun 2023 20:13:04 +0100
parents ea3c427d922d
children 035d3880da04
line wrap: on
line source

#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 and reset with identity
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();

	// Set the coordinates to be used with the viewport
	gluOrtho2D(0, WIDTH, HEIGHT, 0);
}


void display() {
	glClear(GL_COLOR_BUFFER_BIT);
	glBegin(GL_QUADS);
	/*
	glVertex2f(100.0, 100.0);      // Top left
	glVertex2f(150.0, 100.0);     // Top right
	glVertex2f(150.0, 300.0);	   // Bottom right 
	glVertex2f(100.0, 300.0);    // Bottom left

	glVertex2f(160.0, 100.0);
	glVertex2f(210.0, 100.0);
	glVertex2f(210.0, 300.0);
	glVertex2d(160.0, 300.0);
	*/
	
	float rect_width = 5.0;
	float space = 10.0;

	for (float pos_x = 100.0; pos_x < 500.0; pos_x += 10.0) {
		glVertex2f(pos_x, 100.0);
		glVertex2f(pos_x + rect_width, 100.0);
		glVertex2f(pos_x + rect_width, 300.0);
		glVertex2d(pos_x, 300.0);
	}

	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;
}