Code:
#include <windows.h>
#include <GL\glut.h>
#include <stdlib.h>
#include<iostream>
using namespace std;
int x, y, a, b, nol, R, G, B;
void myInit (void)
{
glClearColor(0.0,0.0,0.0,0.0); // sets background color to white
// sets a point to be 4x4 pixels
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 500.0, 0.0, 400.0); // the display area in world coordinates.
}
void brasenham(int x1, int y1, int x2, int y2)
{
int dx = x2-x1;
int dy = y2-y1;
int p = (2*dy)-dx;
for(int i =0; i < dx; i++)
{
if(p < 0)
{
x1++;
glVertex2i(x1, y1);
p = p+(2*dy);
}
else if(p>0)
{
x1++;
y1++;
glVertex2i(x1, y1);
p = p+(2*dy)-(2*dx);
}
}
}
void myDisplay(void)
{
int nol = rand() % 100;
glClear(GL_COLOR_BUFFER_BIT); // clears the screen
// setsthe drawing colour
glPointSize(4.0);
for(int i = 0; i<nol; i++){
int x = rand() % 750;
int y = rand() % 850;
int a = rand() % 950;
int b = rand() % 680;
int R = rand() % 255;
int G = rand() % 255;
int B = rand() % 255;
glColor3ub(R, G, B) ;
glBegin(GL_POINTS);
brasenham(x, y, a, b);
glEnd();
}
glFlush(); // sends all output to display;
}
int main (int argc, char **argv)
{
//scanf("%d,%d,&d,&d",&x,&y,&a,&b);
glutInit (&argc, argv); // to initialize the toolkit;
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); // sets the display mode
glutInitWindowSize (640, 480); // sets the window size
glutInitWindowPosition (10, 10); // sets the starting position for the window
glutCreateWindow ("My first OpenGL program!"); // creates the window and sets the title
glutDisplayFunc (myDisplay);
myInit(); // additional initializations as necessary
glutMainLoop(); // go into a loop until event occurs
return 0;
}