2011-01-13 5 views
0
 public void draw(GL10 gl) { 

     gl.glFrontFace(GL10.GL_CCW); 
     gl.glEnable(GL10.GL_CULL_FACE); 
     gl.glCullFace(GL10.GL_BACK); 

     gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); 

     /* 
     gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
     gl.glEnable(GL10.GL_BLEND); 
     gl.glEnable(GL10.GL_LINE_SMOOTH); 
*/ 

     gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer); 

     gl.glLineWidth(3.0f); 
     gl.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); 

     gl.glDrawArrays(GL10.GL_LINE_STRIP, 0, list.size()/3); 


     gl.glDisableClientState(GL10.GL_VERTEX_ARRAY); 
     gl.glDisable(GL10.GL_CULL_FACE); 

     //gl.glDisable(GL10.GL_BLEND); 
     //gl.glDisable(GL10.GL_LINE_SMOOTH); 

    } 

내 코드는 다음과 같습니다. 이 코드Android OpenGL ES 라인 앤티 앨리어스

gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
gl.glEnable(GL10.GL_BLEND); 
gl.glEnable(GL10.GL_LINE_SMOOTH); 

을 추가하는 경우

는 내가 매우 얇은 (1 x 1 픽셀) 라인, 아닌 antialised 라인을 얻을. 올바르게하는 가장 좋은 방법은 무엇입니까?

답변

2

내가하고있는 일이 맞다고 생각하지만 기기가 앤티 앨리어싱을 지원하는지 확인 하시겠습니까? 이 블로그 게시물을보십시오 : http://olofsj.posterous.com/playing-with-android-and-opengl

+0

내 장치는 Samsung Galaxy S i9000 및 HTC Legend입니다. – lacas

+0

그래, 나는 그들이 선에 앤티 앨리어싱을 지원한다고 생각하지 않는다. 사실 OpenGL ES 1.0은 다각형의 앤티 앨리어싱 만 지원한다고 생각합니다. –

+0

확실히 시간이 좀 전에 있었지만 누구든지 블로그 게시물 정보를 찾을 수 있습니까? (링크가 다운되었습니다) – DNax