OpenGL png图片 纹理贴图,去除png图片黑边
2010-11-16 11:19
621 查看
将png图片作为纹理贴图,在图片周围会产生黑边,在网上查了一下,都没有明确指出解决方法!废话不说了,看代码。
1.初始化
2.加载纹理贴图
3.效果图
1.初始化
protected void init(GL10 gl) { // Setup background color gl.glClearColor(1, 1, 1, 1); gl.glEnable(GL10.GL_BLEND); gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 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.加载纹理贴图
protected static int loadTexture(GL10 gl, Bitmap bmp, boolean reverseRGB) { int[] textures = new int[1]; glGenTextures(1, textures, 0); int mTextureID = textures[0]; glBindTexture(GL_TEXTURE_2D, mTextureID); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST); 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; }
3.效果图
相关文章推荐
- OpenGL png图片 纹理贴图,去除png图片黑边
- 【摘录】OpenGL png图片 纹理贴图,去除png图片黑边
- png图片的简单介绍, 使用libpng读取内容,用于纹理贴图
- OpenGL中用bmp图片做纹理贴图的三种方法
- openCV读入图片,openGL实现纹理贴图
- 【OPENGL】使用CxImage类 使PNG图片纹理映射(一):Cxiamge类配置
- 使用glfw库将OpenCV读取到的图片作为OpenGL的背景纹理贴图
- Android OpenGLES2.0(八)——纹理贴图之显示图片
- OpenGL纹理贴图24位bmp图片,代码如下
- (转)使用OpenGL显示图像(七)Android OpenGLES2.0——纹理贴图之显示图片
- 【C#/OpenGL】CSGL中2D纹理加载PNG等透明图片显示的黑边问题
- 【OPENGL】纹理贴图出现颜色干扰的问题
- OPENGL 纹理贴图 旋转立方体(Nehe glut版)
- 关于OpenGL 2D纹理贴图的经验总结,
- OpenGL 之 纹理贴图
- OpenGL 纹理贴图
- 纹理窗口Qt+OpenGL之纹理贴图
- OpenGL曲面纹理贴图技术--波浪的模拟(转 作者 Y_Y)
- Qt中使用OpenGL的纹理贴图
- js去除png格式的图片阴影