Bonjour
J'ai un petit problème avec le passage des textures et GLSL.
En fait, j'ai un plan qui est texturé, et quand j'aimerai écrire un shader basique pour rendre ce plan avec sa texture.

Le soucis, c'est que je n'arrive pas à utiliser les textures avec GLSL.
J'ai écris ceci:

[Vertex Shader]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
void main()
{
	gl_TexCoord[0] = gl_MultiTexCoord0;
	gl_Position = ftransform();
}
ERREUR:
Erreur de compilation du shader: textureSimple.vert
(8) : error C0000: syntax error, unexpected '?' at token "?"
(8) : error C0501: type name expected at token "?"

et rien que ça, ça ne compile pas.
Pourtant je pense avoir initialisé comme il faut mes textures:

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
39
40
 
//! Initialiser OpenGL.
void initOpenGL() {
    glClearColor(0, 0.5, 1, 0);
 
    glMatrixMode(GL_PROJECTION);
    gluPerspective(40, (double)640/480, 1, 500);
 
    // Activer les états OpenGL.
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_TEXTURE_2D);
 
    glClear(GL_COLOR_BUFFER_BIT);
}
 
 
void draw(const Texture2D& texture) {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
    // Placer la caméra.
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(15, 10, 15, 0, 0, 0, 0, 1, 0);
 
    // Dessiner le sol.
    shader->enable();
    glActiveTexture(GL_TEXTURE0);
    texture.bind();
    glBegin(GL_QUADS);
        glMultiTexCoord2d(GL_TEXTURE0, 0, 0); glVertex3d(0, 0, 0);
        glMultiTexCoord2d(GL_TEXTURE0, 1, 0); glVertex3d(10, 0, 0);
        glMultiTexCoord2d(GL_TEXTURE0, 1, 1); glVertex3d(10, 0, 10);
        glMultiTexCoord2d(GL_TEXTURE0, 0, 1); glVertex3d(0, 0, 10);
    glEnd();
    shader->disable();
 
    // Mise à jour de l'écran.
    glFlush();
    SDL_GL_SwapBuffers();
}
Quelqu'un pourrait me dire ce qui cloche ? :/
Merci d'avance !