Bonjour,
Alors voila je charge une texture avec SDL et je la converti pour OpenGL. La texture est en fait un groupe de sprites, et j'aimerai savoir comment faire pour n'afficher du'un sprite à l'écran et non pas toute la texture.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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
30
31
32
33
34
35
36
37
38
 
void Clevel::loadbackground(char* filename)
{
 
    SDL_Surface *temp;
 
    glGenTextures (1, & background);
    glBindTexture (GL_TEXTURE_2D, background);
    // Paramétrage de la texture.
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
 
    temp = IMG_Load(filename);
 
    // Jonction entre OpenGL et SDL.
    glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, temp->w, temp->h, 0,
    GL_RGB, GL_UNSIGNED_BYTE, temp-> pixels);
 
    SDL_FreeSurface(temp);
 
}
 
 
void Clevel::drawbackground()
{
 
    glBindTexture (GL_TEXTURE_2D, background);
 
    glBegin(GL_QUADS);
        glTexCoord2i (0, 0) ; glVertex2i(0,0);
        glTexCoord2i (0, 1) ; glVertex2i(0,RESOLUTION_Y);
        glTexCoord2i (1, 1) ; glVertex2i(RESOLUTION_X,RESOLUTION_Y);
        glTexCoord2i (1, 0) ; glVertex2i(RESOLUTION_X,0);
    glEnd();
 
}