2011-12-13 2 views
1

기본적으로 화면을 채우는 두 개의 삼각형을 설정하는 간단한 OpenGL ES 프로그램이 있습니다. 다음은 녹색으로 표시됩니다.OpenGL ES 일반 색상이 낟알입니다.

onDrawFrame (GL10의 GL)이

public void onDrawFrame(GL10 gl) {  
    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); 
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); 
    gl.glColor4f(0.2f, 0.4f, 0.2f, 1f); 
    gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer); 
    gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0,4); 
    gl.glDisableClientState(GL10.GL_VERTEX_ARRAY); 
} 

는 다음과 같은 생산 :

: 확대에 따라, 그러나

을 다음 픽셀 화 패턴을 알 수 있습니다

첫 번째 그림에서 실제로 알 수 없습니다. 그러나 투명 PNG 이미지를 맨 위에 추가하면 이러한 '입자'가 더 잘 보입니다. 왜 그곳에 있습니까? 어떻게 제거 할 수 있습니까?

+0

이미지를 추가해 주셔서 감사합니다. 매트 – user1094927

답변

2

어딘가에 초기화 코드에서, 당신은 전화를해야합니다

gl.glDisable(GL_DITHER);

디더링은 기본적으로 활성화되어 있습니다.