即使禁用CULL_FACE,也不会绘制背景

时间:2013-12-13 06:08:29

标签: android opengl-es opengl-es-2.0

我正在使用Android中的OpenGL ES 2.0投影建筑,并且有一些奇怪的行为,即某些墙仅以特定角度显示。由于Backface-Culling,可能会出现此问题。所以我在我的渲染器的onSurfaceCreated中停用了它:

GLES20.glDisable(GLES20.GL_CULL_FACE);
GLES20.glDisable(GLES20.GL_DEPTH_TEST);

但是错误仍然存​​在。某些三角形未绘制。如果我将视图旋转180度,最终会绘制这些三角形而其他三角形消失。

快速问题:还有什么我应该注意从两边显示每个三角形?

我唯一能想到的是:

GLES20.glUniform4fv(mColorHandle, 1, color, 0);

我的三角形只是从fragment_shader中获取颜色。也许我必须在这个着色器中改变一些东西?

private final String fragmentShaderCode = "precision mediump float;"
        + "uniform vec4 vColor;" + "void main() {"
        + "  gl_FragColor = vColor;" + "}";

如果需要更多源代码,我会上传它。认为这不是我的实现问题,而是我在OpenGL中缺乏知识;)

截图:

在那里你可以看到一个简单的旋转。整栋建筑应该有浅灰色的墙壁。 enter image description here enter image description here enter image description here

0 个答案:

没有答案