簡體   English   中英

GLES20解析obj文件和頂點,紋理索引

[英]GLES20 parse obj file and vertex, texture indices

我是OpenGL-ES 2.0的新手,嘗試解析.obj文件並在Android上繪制。

而且我已經成功地繪制了一個簡單的多維數據集,其中包含來自.obj文件的已解析數據

the 'v' (vertex coords)
and the first values of 'f' line (v index)

但是下一步,我需要使用.obj數據繪制“紋理”,我發現存在“紋理索引”,我不知道如何在代碼中使用該“紋理索引”

GLES20.glVertexAttribPointer(mPositionHandle, 3, GLES20.GL_FLOAT, false, VSTRIDE, vertexCoords);
GLES20.glEnableVertexAttribArray(mPositionHandle);

GLES20.glVertexAttribPointer(maTextureHandle, 2, GLES20.GL_FLOAT, false, TSTRIDE, textureCoords);
GLES20.glEnableVertexAttribArray(maTextureHandle);

...

GLES20.glDrawElements(GLES20.GL_TRIANGLES, indexLength, GLES20.GL_UNSIGNED_SHORT, vertexIndices);

我認為,只有“頂點索引”參數可以在glDrawElements API上使用。 如何將glDrawElements與“ Vertex Indices”和“ Texture Indices”一起使用?

您不能將紋理索引與GLES20.glDrawElements一起使用。

GLES20.glDrawElements無法繪制具有多個紋理的元素,它將始終使用“當前紋理”

您設置“當前”紋理綁定預先創建的紋理。 GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureID); //Next call of glDrawElements will use this texture

最好按紋理ID對頂點進行排序,並對每個紋理ID執行一個GLES20.glDrawElements調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM