| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | void Terrain::loadTextures()
{
    sf::Image textures[4];
    std::string srcTextures[4] =
    {
        m_srcHeightmap,
        "textures/sand.jpg",
        "textures/grass.jpg",
        "textures/rock.jpg"
    };
 
    glGenTextures(4, m_id_tex);
    for(uint i=0; i<4; i++)
    {
        if( textures[i].LoadFromFile(srcTextures[i]) == false )
        {
            std::cout << "Terrain : Erreur lors du chargement de la texture " << srcTextures[i] << "." << std::endl;
            std::exit(1);
        }
 
        glBindTexture(GL_TEXTURE_2D, m_id_tex[i]);
            /* Génération de la mipmap */
            glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
            glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
            gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, textures[i].GetWidth(), textures[i].GetHeight(), GL_RGBA, GL_UNSIGNED_BYTE, textures[i].GetPixelsPtr());
    }
} |