渲染纹理时的噪音

时间:2011-03-30 19:41:12

标签: android opengl-es

我有一个带纹理的正方形。大部分时间它工作正常,但有时当我运行应用程序时,我从纹理中得到一些奇怪的噪音。

pics:http://i.stack.imgur.com/vMyDy.png

这种情况似乎是随机的。 可能是什么原因造成的?

[编辑] som代码:

        gl.glPushMatrix();
        gl.glTranslatef(0.8f, -1.8f, -20.0f);
        square.draw(gl);
        gl.glPopMatrix();
        gl.glDisable(GL10.GL_TEXTURE_2D);

_

    public void draw(GL10 gl) {

           gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

           gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
           gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

           gl.glFrontFace(GL10.GL_CCW);

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

           gl.glDrawElements(GL10.GL_TRIANGLES, indices.length, GL10.GL_UNSIGNED_BYTE, indexBuffer);

           gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
           gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
       }



    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        square.loadGLTexture(gl, this.context);


        gl.glShadeModel(GL10.GL_SMOOTH);            
        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);    
        gl.glClearDepthf(1.0f);                     
        gl.glEnable(GL10.GL_DEPTH_TEST);            
        gl.glDepthFunc(GL10.GL_LEQUAL);             

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


        gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST); 

}

0 个答案:

没有答案