Codigo de bresenharm para dibujo linea

Solo disponible en BuenasTareas
  • Páginas : 2 (360 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de abril de 2010
Leer documento completo
Vista previa del texto
CODIGO PARA BRESENHAM DEIBUJO DE LINEA
PROGRMADO EN OPENGL

//#include //Comentar esta linea si van a trabajar en Linux
//Las siguientes dos lineas son si ocupan el poner glut en visual//#include // The GL Header File
//#include // The GL Utility Toolkit (Glut) Header
//Las dos lineas siguientes son si ocupan la carpeta Librerias
//#include "gl.h" // The GL Header File//#include "glut.h" // The GL Utility Toolkit (Glut) Header
#include "Main.h"

#define HRES 320
#define VRES 340

float roty=0;

char buffer[HRES*VRES*3]; //debe de ser un arreglounidimencional
void pintaPixel(int x,int y,int r,int g,int b);
void line(int xi,int yi,int xf, int yf);

void InitGL ( GLvoid ) // Inicializamos parametros
{
glClearColor(0.0f, 0.0f, 0.0f,0.0f); // Negro de fondo

glEnable(GL_DEPTH_TEST); // Habilitamos Depth Testing
glDepthFunc(GL_LEQUAL); // Tipo de Depth Testing a realizar
glClearDepth(1.0f); //Configuramos Depth Buffer
}

void display ( void ) // Creamos la funcion donde se dibuja
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glLoadIdentity();

//MUY IMPORTANTE
//porcuestiones de uso de memoria por la manera en que se pinta
//si en su computadora no tienen una tarjeta de video,
//el valor máximo que puede tener el punto final está dado por
//HRES y VRES alprincipio de este archivo.
//por defaul 320 y 240 respectivamente.
//pueden jugar en su compu cambiando esos valores y
//utilizandolos como puntos finales de la linea.

line(0,0,300,140);//Aqui mando a llamar a mi funcion de linea
//ponemos la linea en el buffer
glDrawPixels(HRES,VRES,GL_RGB,GL_UNSIGNED_BYTE,(void*)buffer);

//dibujamos el buffer con openGL
glFlush();glutSwapBuffers();
}

//Funcion pinta pixel
void pintaPixel(int x,int y)
{
int offset; //variable para indicar que pixel graficar
//parte para pintar un pixel
offset = 3*y*(HRES)+(x*3);...
tracking img