第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法在片段中成功使用多個紋理

無法在片段中成功使用多個紋理

忽然笑 2022-07-14 16:44:24
在我的片段著色器中,我聲明了一個這樣的紋理數(shù)組:uniform sampler2D textures[7];。這個數(shù)組加載了我想使用的 Open GL 紋理索引:GLES31.glUniform1iv(handleOnTextures, 7,new int [] {0,1,2,3,4,5,6);正如我想使用GL_TEXTURE0的那樣GL_TEXTURE6。在我的onSurfaceCreated函數(shù)中,我以這種方式加載紋理:handleOnTextureNames= new int[textureArray.length];GLES31.glGenTextures(textureArray.length, handleOnTextureNames, 0);if (handleOnTextureNames[0] != 0) {    options = new BitmapFactory.Options();    options.inScaled = false;    for (t = 0; t < textureArray.length; t++) {        GLES31.glActiveTexture(GLES31.GL_TEXTURE0+t);        GLES31.glBindTexture(GLES31.GL_TEXTURE_2D, handleOnTextureNames[t]);        image = BitmapFactory.decodeResource(getContext().getResources(), textureArray[t], options);        GLUtils.texImage2D(GLES31.GL_TEXTURE_2D, 0, image, 0);        image.recycle();    }} else {    throw new RuntimeException("Error!");}GLES31.glTexParameteri(GLES31.GL_TEXTURE_2D, GLES31.GL_TEXTURE_MIN_FILTER, GLES31.GL_NEAREST);GLES31.glTexParameteri(GLES31.GL_TEXTURE_2D, GLES31.GL_TEXTURE_MAG_FILTER, GLES31.GL_NEAREST);為了定義在著色器執(zhí)行期間我想要使用的紋理,我將一個索引傳輸給它:GLES31.glUniform1i(handleOnTextureIndice, idTexture);idTexture 范圍從 0 到 6,具體取決于我要使用的紋理。在片段著色器中,要計算片段顏色,可以像這樣訪問紋理:textures[textureIndice]。我面臨的問題是,只有最后加載的紋理才能給出正確的結(jié)果,而所有其他紋理都呈現(xiàn)為黑色!我究竟做錯了什么?
查看完整描述

1 回答

?
飲歌長嘯

TA貢獻(xiàn)1951條經(jīng)驗 獲得超3個贊

您早期的紋理不完整;您只在循環(huán)結(jié)束后指定過濾參數(shù),因此只有最后一個紋理定義了過濾。

將此移動到設(shè)置每個紋理的循環(huán)內(nèi):

GLES31.glTexParameteri(GLES31.GL_TEXTURE_2D, GLES31.GL_TEXTURE_MIN_FILTER, GLES31.GL_NEAREST);
GLES31.glTexParameteri(GLES31.GL_TEXTURE_2D, GLES31.GL_TEXTURE_MAG_FILTER, GLES31.GL_NEAREST);


查看完整回答
反對 回復(fù) 2022-07-14
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號