16.2 Appel des fonctions

Je vais vous dire tout ce qu'il faut faire.

D’abord on active les textures :

1
glEnable(GL_TEXTURE_2D);

Ensuite on génère une texture id :

1
glGenTextures(1, &id);

On dit à OpenGl que l'on veut s'en servir :

1
glBindTexture(GL_TEXTURE_2D, id);

On demande le découpage de la texture :

1
2
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

On ajoute des filtres, pour que l'apparence de la texture soit impeccable lorsque l'on en est près, et change linéairement si on s'en éloigne :

1
2
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);

On donne l'image de la texture (imageOpenGl), et on copie tout les pixels dans la texture id que l'on utilise :

1
glTexImage2D(GL_TEXTURE_2D, 0, imageOpenGl->format->BytesPerPixel, imageOpenGl->w, imageOpenGl->h, 0, format, GL_UNSIGNED_BYTE, imageOpenGl->pixels);

On dit à OpenGl que l'on veut générer des mipmaps :

1
glGenerateMipmap(GL_TEXTURE_2D);

On donne le nombre de mipmaps que l'on veut générer :

1
2
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 4);

Et voilà, vous savez tout, maintenant passons à la pratique.