我目前正在开发我的第一个项目,在 Android 上使用 OpenGL ES 2.0。
我正在解析一个对象文件 (.obj) 并想要渲染生成的网格。问题是它在我的“Galaxy Nexus”上运行得很好,但是当我尝试在我的“Samsung Galaxy Note 10.1”上运行应用程序时,屏幕上没有任何内容。
由于它在 Nexus 上正确呈现,我假设 .obj 被正确解析 - 但如果不是,我认为我应该在平板电脑上看到任何东西 - 即使它不正确。
这是我用于渲染的代码。
GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, triangleBuffer);
GLES20.glBindBuffer(GLES20.GL_ELEMENT_ARRAY_BUFFER, indexBuffer);
//System.out.println(("MESH: " + GLES20.glGetAttribLocation(shaderProgram, "vertex") + " " + GLES20.glGetAttribLocation(shaderProgram, "vertex")));
GLES20.glVertexAttribPointer(GLES20.glGetAttribLocation(shaderProgram, "vertex"), 3, GLES20.GL_FLOAT, false, floatPerVertex*mBytesPerFloat, 0);
GLES20.glEnableVertexAttribArray(GLES20.glGetAttribLocation(shaderProgram, "vertex"));
GLES20.glVertexAttribPointer(GLES20.glGetAttribLocation(shaderProgram, "normal"), 3, GLES20.GL_FLOAT, false, floatPerVertex*mBytesPerFloat, 3*mBytesPerFloat);
GLES20.glEnableVertexAttribArray(GLES20.glGetAttribLocation(shaderProgram, "normal"));
GLES20.glDrawElements(GLES20.GL_TRIANGLE_STRIP, faceCount , GLES20.GL_UNSIGNED_INT, 0);
Nexus 设备和其他设备上的 GLES 2.0 之间是否存在不匹配?
编辑:LogCat 中没有错误