Algoritmo Antialiasing
Algoritmo Antialiasing
U6000459@UNIMILITAR.EDU.CO
ALGORITMO ANTIALIASING
#include "glut.h"
#include <math.h>
b = CY1 - (m*CX1);
if (abs(DX) >= abs(DY))
{
if (CX1 <= CX2)
{
for (x = CX1; x <= CX2; x++)
{
y = (m*x) + b;
pintaPixel(x, y, 1, 1, 1);
pintaPixel(x, y + 1, 0.5, 0.5, 0.5);
pintaPixel(x, y - 1, 0.5, 0.5, 0.5);
}
}
else
{
for (x = CX2; x <= CX1; x++)
{
y = (m*x) + b;
pintaPixel(x, y, 1, 1, 1);
pintaPixel(x, y + 1, 0.5, 0.5, 0.5);
pintaPixel(x, y - 1, 0.5, 0.5, 0.5);
}
}
}
else
{
if (CY1 <= CY2)
{
for (y = CY1; y <= CY2; y++)
{
x = (y - b) / m;
pintaPixel(x, y, 1, 1, 1);
pintaPixel(x+1, y, 0.5, 0.5, 0.5);
pintaPixel(x-1, y, 0.5, 0.5, 0.5);
}
}
else
{
for (y = CY2; y <= CY1; y++)
{
x = (y - b) / m;
pintaPixel(x, y, 1, 1, 1);
pintaPixel(x + 1, y, 0.5, 0.5, 0.5);
pintaPixel(x - 1, y, 0.5, 0.5, 0.5);
}
}
}
}
}
void plano() {
for (float i = -(alto / 2); i < alto; i++) {
pintaPixel(0, i, 1, 1, 1);
}
for (float i = -(ancho / 2); i < ancho; i++) {
pintaPixel(i, 0, 1, 1, 1);
}
glFlush();
}