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 :
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.
|