• Jueves 28 de Marzo de 2024, 23:07

Autor Tema:  Ayuda Para Dibujar Pixels  (Leído 2053 veces)

Uvatha

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Ayuda Para Dibujar Pixels
« en: Domingo 4 de Diciembre de 2005, 11:45 »
0
Hola,
os pido ayuda pues en Internet sólo he encontrado gente con la misma pregunta y sin respuesta.Expongo los hechos:
1-
Cargo una imagen en memoria con
TextureImage[0]=LoadBMP("Imagen.bmp");
2-
La función LoadBMP es como sigue:
AUX_RGBImageRec *LoadBMP(char *Filename)            {
   FILE *File=NULL;               
   if (!Filename)               
   {
      return NULL;            
   }

   File=fopen(Filename,"r");            

   if (File)                  
   {
      fclose(File);            
      return auxDIBImageLoad(Filename);      
   }

   return NULL;
                 }
3-
Luego ya tengo la imagen en una estructura AUX_RGBImageRec, de la cual no encuentro mucha información. Tiene dos parámetros sizeX y sixeY que guardan el valor de las dimensiones del fichero y tiene otro componente 'data' que he leído que es un array de bytes con una dimension sizeX*sizeY*3, pues para cada pixel guarda tres bytes (las coordenadas RGB de cada píxel).

Mis preguntas son:
1-alguien conoce la especificación de la estructura AUX_RGBImageRec?
2-Como puedo acceder al array 'data' para leer los valores RGB de caca píxel?
3-Hay alguna otra forma de acceder al valor concreto de uno solo de los (por ejemplo) 512*512 píxels de una imagen para manipularlo a mi antojo?
4-Conocéis algun ejemplo (tutorial) en el que se trate este tipo de situación?

Gracias por adelantado.

Uvatha

kabutoxs

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Ayuda Para Dibujar Pixels
« Respuesta #1 en: Lunes 27 de Febrero de 2006, 13:41 »
0
hola, uvatha... te doy un link con el que puedes cargar una textura.
http://informatica.uv.es/iiguia/2000/AIG/docs/texturas.htm

A mi me funcionó, pero la imagen debe ser .bmp con 256 colores, con 24 bit no se ve correctamente la imagen. Y otro inconveniente q encontre es que para evitar algunos desperfectos con los colores de los demas objetos, debes agregar la funcion glDisable(GL_TEXTURE_2D);

Espero te sirva de ayuda.

A la vez si me puedes ayudar con la funcion gluLookAt, te agradeceria. Es que estoy dibujando un laberinto en 2D, y ahora quiero que sea 3D, es decir en vez de posicionar la camara en sobre Z, quiero posicionarlo sobre X o Y, para tener una vista en primera persona, me explico?