将png图片作为纹理贴图,在图片周围会产生黑边,在网上查了一下,都没有明确指出解决方法!废话不说了,看代码。
1.初始化
glEnable(GL_DEPTH_TEST);
glEnable(GL10.GL_ALPHA_TEST); // Enable Alpha Testing (To Make BlackTansparent)
glAlphaFunc(GL10.GL_GREATER,0.1f); // Set Alpha Testing (To Make Black Transparent)
// Setup project matrix
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
GLU.gluOrtho2D(gl, 0.0f,1.3f,0.0f,1.0f);
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, texBuff);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
tex = loadTexture(gl, bmp);
// Smooth shading
gl.glShadeModel(GL10.GL_SMOOTH);
}
2.加载纹理贴图
glTexParameterf(GL_TEXTURE_2D,
GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,
GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,
GL_CLAMP_TO_EDGE);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
GL_REPLACE);
GLUtils.texImage2D(GL_TEXTURE_2D, 0, bmp, 0);
bmp.recycle();
return mTextureID;
}