Как я могу передать несколько текстур в один шейдер?

Я использую Freeglut, GLEWи DevIL ввизуализировать текстурированный чайник используя вершинный и фрагментный шейдеры. Все это прекрасно работает в OpenGL 2.0 и GLSL 1.2 в Ubuntu 14.04.

Теперь я хочу применить карту рельефа к чайнику. Мой лектор, очевидно, не заваривает свой собственный чай, и поэтому не знает, что они должны бытьгладкий; плавный, Во всяком случае, я нашелкрасивый учебник по картографированию старой школы это включает фрагментный шейдер, который начинается:

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

Что они не упоминают, так этокак в первую очередь передать две текстуры шейдеру.

Ранее я

//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);

так что теперь я

//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

но это не работает Текстура полностью исчезает (по сути, чайник белый). Я пробовал GL_TEXTURE_2D_ARRAY, glActiveTexture и несколько других, казалось бы, бесплодных вариантов.

Просеяв обычный набор ссылок на OpenGL и GLSL, новые и старые, я пришел к выводу, что мне, вероятно, нужноglGetUniformLocation, Как именно я использую этов файле OpenGL cpp передать уже заполненные маркеры текстуры фрагментному шейдеру?

Как передать массив текстур разных размеров в GLSL?Передача нескольких текстур из OpenGL в шейдер GLSLНесколько текстур в GLSL - работает только одна

(Это домашнее задание, поэтому, пожалуйста, ответьте с минимальным количеством фрагментов кода (если вообще). Спасибо!)

Если это не так, у кого-нибудь есть чайная уютная сетка?

Ответы на вопрос(2)

Ваш ответ на вопрос