1) Dziękuje Ci @Gynvael Coldwind za pomoc z tymi teksturami.

2)

O, już nie czarny kwadrat? ;). Chwilowo nie mogę, bo projekty - ale spróbuję się przyjrzeć (o ile nie zapomnę;/)

  • @msm
    Czarny kwadrat wyświetlał się tylko wtedy gdy ładowałem plik z kanałem alfa, którego w przykładowym obrazie nie ma. *Jednak pytanie jak załadować plik .png z kanałem alfa nadal otwarte.

3) Dlaczego moja funkcja nie ładuje plików *.bmp i *.jpg?

int DrawImage(char* Path, int x, int y)
{
        // tworzenie do przechowania tablicy
        ILuint ImgID;
 
        // pobranie szerokosci obrazu
        ILuint WidthImage = ilGetInteger(IL_IMAGE_WIDTH); 
 
        // pobranie wysokosci obrazu
        ILuint HeightImage = ilGetInteger(IL_IMAGE_HEIGHT);
 
        // generowanie nazwy obrazu
        ilGenImages(1, &ImgID); 
 
        // wybranie biezacego obrazu
        ilBindImage(ImgID);
 
        // ladowanie obrazu z pliku
        ilLoadImage(Path);
 
        // obsluga bledow
        if(ilGetError() != IL_NO_ERROR)return ilGetError();
 
        // generowanie nazwy tekstury
        glGenTextures( 1, & ImgID );
 
        // wybranie biezacej tekstury
        glBindTexture( GL_TEXTURE_2D, ImgID );
 
        // tworzenie tekstury
        glTexImage2D( GL_TEXTURE_2D, 0, ilGetInteger( IL_IMAGE_BPP ), ilGetInteger( IL_IMAGE_WIDTH ), 
                ilGetInteger( IL_IMAGE_HEIGHT ), 0, ilGetInteger( IL_IMAGE_FORMAT ), GL_UNSIGNED_BYTE, ilGetData() );
 
        // ustalenie parametrów tekstury
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
 
        // ustalenie trybu teksturowania
        glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL);
 
        // ustalenie koloru kwadratu 
        glColor3f( 0.0, 0.0, 0.0 );
 
        // rysowanie kwadratu pod teksture
        glBegin( GL_QUADS );
 
          glTexCoord2f( 0, 0 );
          glVertex2f( x, y );
 
          glTexCoord2f( 1, 0 );
          glVertex2f( x + WidthImage, y );
 
          glTexCoord2f( 1, 1 );
          glVertex2f( x + WidthImage, y + HeightImage );
 
          glTexCoord2f( 0, 1 );
          glVertex2f( x, y + HeightImage );
        glEnd();
 
        return 1;
}