• Viernes 3 de Mayo de 2024, 03:54

Autor Tema:  Cargar Texturas > 512 Pxls  (Leído 2058 veces)

Uvatha

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Cargar Texturas > 512 Pxls
« en: Jueves 20 de Octubre de 2005, 18:40 »
0
Hola a todos,
os planteo dos cuestiones, la primera de ámbito práctico y la segunda teórica.
1-He seguido diversos tutoriales (sobre todo los de NeHe Productions) i consiguo hacer programas que carguen diversas texturas, pero las funciones que uso sólo me sirven si el número de píxels de las dimensiones del archivo a cargar son 64, 128, 256 o 512. Necesito cargar archivos con mayor resolución, os escribo el código (en java) que uso a tal efecto. Sabéis como puedo añadir más píxeles?

Función:
public boolean CargaTexturas()
   
{
String titleNames[]={"bcn.PNG","barcelona.PNG","cajero.PNG"};//vector d'estrings con los ficheros
gl.glGenTextures(3,texture);
       
for (int i=0;i<3;i++)//tantos bucles como texturas
{
       PngTextureLoader texLoader = new PngTextureLoader(gl, glu);
       if(codeBase!=null)  
          texLoader.readTexture(codeBase, titleNames);
       else
          texLoader.readTexture(titleNames);
   
       if(!texLoader.isOk())
       {
          return false;
       }
               
       gl.glBindTexture(GL_TEXTURE_2D, texture);
     
       gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
       gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
       gl.glTexImage2D(GL_TEXTURE_2D,
                  0,
                  3,
                  texLoader.getImageWidth(),
                  texLoader.getImageHeight(),
                  0,
                  GL_RGB,
                  GL_UNSIGNED_BYTE,
                  texLoader.getTexture());
     
      }
      return true;
    }

Segunda cuestión (para los que han tenido moral de llegar a esta línea) : mi intencion es hacer un programa que muestre por pantalla mapas topográficos. La única manera que se me ocurre es crear un polígono o un sólido y poner en una de sus caras el mapa que me interesa como una textura. Pese a que los resultados son aceptables, se me antoja un poco enrevesado y poco efectivo (y con un resultado poco profesional) para poder manipular mapas. Sabéis de algún otro método para mostrar las imágenes de alta resolución por pantalla y poder manipularlas?

Muchas gracias de todo corazón, ya que no tengo gente cercana que domine OpenGL y me cuesta mucho avanzar cuando estoy encayadol

Un saludo.
Uvatha

Petabyte

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Cargar Texturas > 512 Pxls
« Respuesta #1 en: Sábado 29 de Octubre de 2005, 05:06 »
0
Deberias poder cargar cualquier textura que sea potencia de 2, .... 256, 512, 1024, 2048, .....

Para el mapa quizas lo mejor seria 4 cuadrados del tamaño de la pantalla y desplazarse por el, cuando llegas al limite, los cuadros que quedan ocultos se desplazan al lado contrario y se actualizan con la nueva textura.

La verdad es que es dificil explicarlo.

Uvatha

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Cargar Texturas > 512 Pxls
« Respuesta #2 en: Domingo 30 de Octubre de 2005, 20:02 »
0
Hola,
gracias por las indicaciones, he conseguido cargar archivos de todos esos  tamaños e incluso de proporciones combinadas (256*512,512-1024, etc). Lo de cargar archivos más grandes, aunque aún no lo he puesto en práctica, ya entiendo la sugerencia.

He ido provando y me surgen una serie de dudas: programando en Java, sólo consigo cargar archivos .png (de los cuales nunca había oído hablar), al programar en C consigo cargar bmp y tga.
Por motivos de reducción de espacio, querría cargar archivos jpeg, es posible? implica cargar de faena al procesador?

Gracias y un saludo.

Uvatha.