• Viernes 26 de Abril de 2024, 09:45

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - sasha95

Páginas: [1]
1
Visual C++ / No puedo hacer que la gente use mi programa...
« en: Domingo 21 de Febrero de 2010, 02:49 »
Compile un programa con V-C++ y no puedo lograr que la gente use mi programa. Yo uso windows vista y les pase a 2 usuarios de windows xp el ejecutable. No creo que sea un problema de compatibilidad de OS, ya que no puse ninguna caracteristica unica de vista compilando el programa.
El error es este:
"No se pudo iniciar la aplicación porque su configuración es incorrecta. La reinstalación de la aplicación puede solucionar el problema".
Alguna idea? Muchas gracias desde ya,
Saludos.

2
OpenGL / Texturas en OpenGL
« en: Sábado 11 de Abril de 2009, 05:01 »
Buenas, yo estoy recién aprendiendo OpenGL y tengo un problema con las texturas. Estoy siguiendo los tutoriales de usuarios.lycos.es/andromeda_studios y estoy programando la textura en base a eso. El problema es que el archivo se carga perfectamente, pero el cuadrado se renderiza totalmente blanco sin ninguna textura. Mi codigo dedicado a las texturas es este:
Código: C++
  1.  
  2. class Texture
  3. {
  4. public:
  5.     Texture();
  6.     ~Texture();
  7.  
  8.     void Delete();
  9.     void Use();
  10.  
  11.     bool LoadBMP(char *filename);
  12.     bool Make(char *filename);
  13. private:
  14.     unsigned int ID;
  15.     unsigned int width, height;
  16. };
  17.  
  18. Texture::Texture()
  19. {
  20.     ID = 0;
  21. }
  22. Texture::~Texture()
  23. {
  24.     Delete();
  25. }
  26.  
  27. void Texture::Delete()
  28. {
  29.     if (ID)
  30.     {
  31.         glDeleteTextures (1, &ID);
  32.         ID = 0;
  33.     }
  34. }
  35.  
  36. void Texture::Use()
  37. {
  38.     glBindTexture (GL_TEXTURE_2D, ID);
  39. }
  40.  
  41. bool Texture::Make(char *filename)
  42. {
  43.     glGenTextures (1, &ID);
  44.     //ID++;
  45.     glBindTexture (GL_TEXTURE_2D, ID);
  46.     glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  47.     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
  48.     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  49.     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
  50.     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
  51.     return true;
  52. }
  53.  
  54. bool Texture::LoadBMP(char*filename)
  55. {
  56.     FILE*Image;
  57.     AUX_RGBImageRec *BMP;
  58.     if (!filename)
  59.     {
  60.         MessageBox (NULL, "El nombre del archivo no es valido", "Error", MB_OK | MB_ICONEXCLAMATION);
  61.         return false;
  62.     }
  63.     Image = fopen (filename, "r");
  64.  
  65.     if (!Image)
  66.     {
  67.         MessageBox (NULL, "El archivo no existe", "Error", MB_OK | MB_ICONEXCLAMATION);
  68.         return false;
  69.     }
  70.     fclose (Image);
  71.     Make (filename);
  72.     BMP = auxDIBImageLoad (filename);
  73.  
  74.     width = BMP->sizeX;
  75.     height = BMP->sizeY;
  76.  
  77.     glTexImage2D (GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, BMP->data);
  78.     delete BMP->data;
  79.     delete BMP;
  80.     return true;
  81. }
  82.  
  83.  
Esa es la declaración de la clase. En el archivo main se encuentra esto:
Código: C++
  1.  
  2. TEXTURE = new Texture();
  3.     if (!TEXTURE->LoadBMP ("texture.bmp")) return 0;
  4.     CUADRADO = new Triangle[2]; //bueno esta es una clase que tambien es del tutorial pero que es bastante simple, no tiene ningun error...
  5.  
  6.     CUADRADO[0].Vertexes[0].Loc.Define (-1.0f, -1.0f, 0.0f); //Define son los vectores
  7.     CUADRADO[0].Vertexes[0].SetTexCoords (0.0f, 0.0f); // en SetTexCoords se definen las coordenadas de la textura...
  8.     CUADRADO[0].Vertexes[1].Loc.Define (-1.0f, 1.0f, 0.0f);
  9.     CUADRADO[0].Vertexes[1].SetTexCoords (0.0f, 1.0f);
  10.     CUADRADO[0].Vertexes[2].Loc.Define (1.0f, 1.0f, 0.0f);
  11.     CUADRADO[0].Vertexes[2].SetTexCoords (1.0f, 1.0f);
  12.  
  13.     CUADRADO[1].Vertexes[0].Loc.Define (-1.0f, -1.0f, 0.0f);
  14.     CUADRADO[1].Vertexes[0].SetTexCoords (0.0f, 0.0f);
  15.     CUADRADO[1].Vertexes[1].Loc.Define (1.0f, -1.0f, 0.0f);
  16.     CUADRADO[1].Vertexes[1].SetTexCoords (1.0f, 0.0f);
  17.     CUADRADO[1].Vertexes[2].Loc.Define (1.0f, 1.0f, 0.0f);
  18.     CUADRADO[1].Vertexes[2].SetTexCoords (1.0f, 1.0f);
  19.  
  20.  
Por ultimo, la funcion render:
Código: C++
  1.  
  2. int Render ()
  3. {
  4.     glClear (0x00004100);
  5.     glLoadIdentity();
  6.     glTranslatef(0.0f, 0.0f, zScale);
  7.     glRotatef (xAngle, 0.5, 0.0, 0.0);
  8.     glRotatef (yAngle, 0.0, 0.5, 0.0);
  9.     glRotatef (zAngle, 0.0, 0.0, 0.5);
  10.     TEXTURE->Use();
  11.     glBegin (GL_TRIANGLES);
  12.     for (int j = 0; j < 2; j++)
  13.     {
  14.     for (int i = 0; i < 3; i++)
  15.     {
  16.         glTexCoord2f (CUADRADO[j].Vertexes[i].U, CUADRADO[j].Vertexes[i].V); //bueno aca es donde se utilizan los parametros de SetTexCoords...
  17.         glVertex3f (CUADRADO[j].Vertexes[i].Loc.X,
  18.                     CUADRADO[j].Vertexes[i].Loc.Y,
  19.                     CUADRADO[j].Vertexes[i].Loc.Z);
  20.     }
  21.     }
  22.     glEnd();
  23.     return 1;
  24. }
  25.  
  26.  
El codigo es bastante largo pero por favor si pueden ayudarme se los agradeceria mucho toy re atascado xD
chau suerte y espero ayuda si no es problema  :hola:

Páginas: [1]