可能重複:
How to get rid of Jagged edges in Android OpenGL ES?如何在Android OpenGL ES中執行多重採樣?
我想要做的抗鋸齒我appliction.But這是行不通的,無論我做什麼。 我的代碼是
public void onSurfaceCreated(GL10 gl, EGLConfig config){
g10 = gl;
gl.glClearColor(0f, 0, 0.0f, 1.0f);
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glTexParameterx(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_REPEAT);
gl.glTexParameterx(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_REPEAT);
gl.glSampleCoverage(1.f, true);
gl.glEnable(GL10.GL_DITHER);
gl.glEnable(GL10.GL_MULTISAMPLE);
gl.glEnable(GL10.GL_POINT_SMOOTH);
gl.glEnable(GL10.GL_LINE_SMOOTH);
gl.glEnable(GL10.GL_SAMPLE_COVERAGE);
gl.glPointSize(8);
gl.glLineWidth(5);
gl.glHint(GL10.GL_POINT_SMOOTH_HINT, GL10.GL_NICEST); // Make round points, not square points
gl.glHint(GL10.GL_LINE_SMOOTH_HINT, GL10.GL_NICEST); // Antialias the lines
}
public void draw(GL10 gl){
gl.glClearColor(0f, 0, 0.0f, 1.0f);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, GL10.GL_MODULATE);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glEnable(GL10.GL_BLEND);
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTexture[0]);
gl.glFrontFace(GL10.GL_CCW);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, m_TexBuffer[i]);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, m_VertexBuffer[i]);
gl.glDrawElements(GL10.GL_TRIANGLE_FAN, vertexCount, GL10.GL_UNSIGNED_SHORT, mIndexBuffer);
}
它沒有做任何work.Please告訴我爲什麼。謝謝。
即使這被標記爲重複,請參閱下面的svdree的答案,該方法不包含在其他問題的答案中,並且不需要着色器代碼。並按照我的評論中的鏈接,爲某人的示例代碼(我沒有嘗試過自己)。 – ToolmakerSteve
這是一個http://stackoverflow.com/questions/4934367/how-to-get-rid-of-jagged-edges-in-android-opengl-es/的副本從那裏:「http://代碼。 google.com/p/gdc2011-android-opengl/有多重採樣的示例代碼。「 – thakis