2011-01-13 20 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ピクセル)ライン、およびない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

関連する問題