Comment puis-je passer plusieurs textures à un seul shader?

Je suis à l'aide de freeglut, GLEW et le Diable à rendre une texture théière à l'aide d'un vertex et fragment shader. C'est tous fonctionne bien en OpenGL 2.0 et GLSL 1.2 sur Ubuntu 14.04.

Maintenant, je veux appliquer une texture en relief la théière. Mon maître de conférences à l'évidence ne pas brasser son propre thé, et donc ne savent pas qu'ils sont censés être lisse. De toute façon, j'ai trouvé un joli tutoriel sur la vieille école bump qui comprend un fragment shader qui commence:

uniform sampler2D DecalTex; //The texture
uniform sampler2D BumpTex; //The bump-map 

Ce qu'ils ne mentionnent pas c'est comment de passer deux textures pour le shader en premier lieu.

Auparavant, Je

//OpenGL cpp file
glBindTexture(GL_TEXTURE_2D, textureHandle);

//Vertex shader
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;

//Fragment shader
gl_FragColor = color * texture2D(DecalTex,gl_TexCoord[0].xy);

alors maintenant, je

//OpenGL cpp file
glBindTexture(GL_TEXTURE_2D, textureHandle);
glBindTexture(GL_TEXTURE_2D, bumpHandle);

//Vertex shader
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
gl_TexCoord[1] = gl_TextureMatrix[1] * gl_MultiTexCoord1;

//Fragment shader
gl_FragColor = color * texture2D(BumpTex,gl_TexCoord[0].xy);
//no bump logic yet, just testing I can use texture 1 instead of texture 0

mais cela ne fonctionne pas. La texture disparaît complètement (dans les faits, la théière est blanc). J'ai essayé GL_TEXTURE_2D_ARRAY, glActiveTexture et quelques autres-semblant mais infructueux options.

Après tamisage à travers l'habituel mélange de références à OpenGL et GLSL, nouveaux et anciens, j'en suis venu à la conclusion que j'ai probablement besoin glGetUniformLocation. Exactement comment dois-je utiliser ce en OpenGL fichier cpp pour passer le déjà peuplées de la texture des poignées pour le fragment shader?

(Ce sont les devoirs de sorte s'il vous plaît répondre avec un minimum de fragments de code (le cas échéant). Merci!)

À défaut, quelqu'un thé cosy mesh?

Je suis à l'aide de plusieurs textures en GLSL à partir de python. Voici mon repo avec des captures d'écran

OriginalL'auteur d3vid | 2014-08-11