Android OpenGL ES Line сглаживание - PullRequest
0 голосов
/ 13 января 2011
        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);

    }

мой код следующий.

если я добавлю этот код

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

тогда я получаю очень тонкую (1px) линию, а не сглаженную линию. Каков наилучший способ сделать это правильно?

1 Ответ

2 голосов
/ 13 января 2011

Я думаю, что вы делаете правильно, но вы уверены, что ваше устройство поддерживает сглаживание? Посмотрите на это сообщение в блоге: http://olofsj.posterous.com/playing-with-android-and-opengl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...