我試圖發送兩個紋理片段着色器,但它似乎並沒有工作。着色器中的採樣器只能訪問一個紋理。OpenGL多紋理錯誤:無法訪問採樣器中的每個紋理
以下是我在我的代碼正在做
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, fbo_texture);
glUniform1i(glGetUniformLocation(p,"fbo_texture"), 0);
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, tex_back);
glUniform1i(glGetUniformLocation(p,"back"), 1);
render stuff
但是,如果我最後均勻後加入glActiveTexture(GL_TEXTURE0);
,它的工作原理。此外,如果我指定GL_TEXTURE1
然後GL_TEXTURE0
,按順序,這也很好。我錯過了什麼?
編輯*
glActiveTexture(GL_TEXTURE2);
glBindTexture(GL_TEXTURE_2D, fbo_texture);
glUniform1i(glGetUniformLocation(p,"fbo_texture"), 2);
glActiveTexture(GL_TEXTURE3);
glBindTexture(GL_TEXTURE_2D, tex_back);
glUniform1i(glGetUniformLocation(p,"back"), 3);
作品...... 與GL_TEXTURE0的問題apparntly
什麼是「它」的工作?你的片段着色器是什麼樣的? –
不工作:黑屏或只訪問一個紋理和工作:完全合成好 – Simon