Duże białe pixele

#include <gl/glut.h>
#include <iostream>
using namespace std;
 
void myInit() {
	glPointSize(10.0);
	glClearColor(0.0, 0.0, 0.0, 1.0);
	glClear(GL_COLOR_BUFFER_BIT);
	glMatrixMode(GL_PROJECTION);
	gluOrtho2D(0, 50, 0, 50);
	glTranslatef(0.5, 0.5, 0);
}
 
void putpixel(int x, int y) {
	glBegin(GL_POINTS);
	glVertex2i(x, y);
	glEnd();
}
 
void myDisplay() {
	for(int i=0; i<50; ++i)
	{
		for(int j=0; j<50; ++j)
		{
			if((i+j)%2==0)
				putpixel(i,j);
		}
	}
	glFlush();
	cout << "Juz gotowe" << endl;
}
 
int main(int argc, char **argv) {
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
	glutInitWindowSize(500, 500);
	glutInitWindowPosition(0, 0);
	glutCreateWindow("GLUT WINDOW");
	myInit();
	glutDisplayFunc(myDisplay);
	glutMainLoop();
}

Duże kolorowe piksele

#include <gl/glut.h>
#include <iostream>
using namespace std;
 
void myInit() {
	glPointSize(10.0);
	glClearColor(0.0, 0.0, 0.0, 1.0);
	glClear(GL_COLOR_BUFFER_BIT);
	glMatrixMode(GL_PROJECTION);
	gluOrtho2D(0, 50, 0, 50);
	glTranslatef(0.5, 0.5, 0);
}
 
void draw_pixel(int x, int y, GLfloat r, GLfloat g, GLfloat b) {
	glColor3f(r, g, b);
	glBegin(GL_POINTS);
	glVertex2i(x, y);
	glEnd();
}
 
void myDisplay() {
	for(int i=0; i<50; ++i)
	{
		for(int j=0; j<50; ++j)
		{
			draw_pixel(i, j, i/50.0, j/50.0, 25.0/(25+i+j));
		}		
	}
	glFlush();
	cout << "Juz gotowe" << endl;
}
 
int main(int argc, char **argv) {	
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
	glutInitWindowSize(500, 500);
	glutInitWindowPosition(0, 0);
	glutCreateWindow("GLUT WINDOW");
	myInit();
	glutDisplayFunc(myDisplay);
	glutMainLoop();
}
 

Zadanie 1 Zaimplementuj rysowanie odcinków algorytmem DDA (dopuszczalne operacje na liczbach zmiennoprzecinkowych)

Zadanie 2 Zaimplementuj rysowanie odcinków algorytmem Bresenhama (tylko operacje na liczbach całkowitych)

Zadanie 3 Zaimplementuj rysowanie trójkąta algorytmem edge-to-edge.

Zadanie 4 Zaimplementuj rysowanie kolorowego trójkąta za pomocą współrzędnych barycentrycznych.