我是OpenGL-ES 2.0中的新手,嘗試解析.obj文件並在Android上繪製。GLES20解析obj文件和頂點,紋理索引
而且我已經成功從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使用。 如何將「Vertex Indices」和「Texture Indices」用於glDrawElements?
謝謝您relpy JULITO。所以我應該多次調用glDrawElement? – pokoso
是的。但越少越好,因爲你可能會遇到性能問題。 – julito30
OpenGL ES在一個繪製調用中支持多個紋理就好 - 您只需將它們綁定到不同的紋理單元。不要*繪製每層一個紋理繪製多次,這在移動GPU上非常昂貴,而幾何圖形是一個巨大的帶寬成本。 – solidpixel