Saludos
Tengo el siguiente codigo en C, que me tiene que dibujar algunas lineas mediante el algoritmo de bresenham. Para esto estoy utilizando GLUT, la cual ya le instale correctamente. El problema es que dentro del main donde tengo la llamada a funcion de init() y glutDisplayFunc(estrella); me aparece init y estrella not declared in this scope, por qué será esto??
#include <windows.h>
#include <GL/glut.h>
int main(int argc, char** argv)
{
glutInit(&argc, argv);//inicialización de GLUT
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);//único búfer de refresco en la ventana de visualización y el modo de color RGB
glutInitWindowPosition(50, 100); // posición inicial, esq sup izq
glutInitWindowSize(400, 300); //alto y ancho de la ventana en pixeles
glutCreateWindow("Primer Practica");// creación de ventana de visualización y título de la misma
init();
glutDisplayFunc(estrella); // muestra la línea en la ventana de visualización
glutMainLoop(); // bucle infinitoque comprueba entrada de disp
return EXIT_SUCCESS;
}
void bresenham(int x0,int y0,int x1,int y1)
{
int dx,dy,p,x,y,s1,s2,e,i,intercambio;
x = x1;
y = y1;
s1 = signo(x1-x0);
s2 = signo(y1-y0);
if(y > x)
{
p = dx;
dx = dy;
dy = p;
}
else
intercambio = 1;
e=2*dy-dx;
for(i = 0;i <= dx;i++)
{
if(e >= 0)
{
if(intercambio == 1)
x = x+s1;
else
y = y+s2;
}
e = e-(2*dx);
}
if(intercambio == 1)
y = y+s2;
else
x = x+s1;
e = e+2*dy;
}
int signo(int num)
{
int resultado;
if(num < 0)
resultado = -1;
else if(num > 0)
resultado = 1;
else if(num == 0)
resultado = 0;
return resultado;
}
void init(void)
{
glClearColor(1.0, 1.0, 1.0, 0.0); // colorde la ventana, blanco
glMatrixMode(GL_PROJECTION);// proyección de la imagen en la ventana devisualización
gluOrtho2D(0.0, 400.0, 0.0, 300.0);// proyección en 2D
}
void estrella(void)
{
bresenham(0,0,0,130);/*
bresenham();
bresenham();
bresenham();*/
}
de antemano gracias