glActiveTexture(GL_TEXTURE0 + 0);
unsigned i, w;
unsigned tex_test = Memento::_LoadImageIntoTexture("ground.png", i, w);
glBindTexture(GL_TEXTURE_2D, tex_test);
glUniform1ui(program.GetUniformLocation("tex"), 0);
會運行良好,我希望將圖像正常顯示。但是...
glActiveTexture(GL_TEXTURE0 + 1);
unsigned i, w;
unsigned tex_test = Memento::_LoadImageIntoTexture("ground.png", i, w);
glBindTexture(GL_TEXTURE_2D, tex_test);
glUniform1ui(program.GetUniformLocation("tex"), 1);
當我嘗試將活動紋理更改爲0以外的任何值時,不顯示任何內容。這讓我瘋狂,因爲我找不到任何解決方案,而且沒有任何意義。幫幫我?
經過glGetError:
無論如何,如果你改變你的代碼,這會發生什麼? – Tim
是的,很明顯。 – Shokwav
看起來很乍看,但這一切都取決於這個'Memento :: _ LoadImageIntoTexture'函數實際上做了些什麼...它是在製作一個GL_TEXTURE_2D還是它亂七八糟的東西?也許它強制紋理通道0?加載後嘗試激活紋理通道。 – Grimmy