OpenGL png图片 纹理贴图,去除png图片黑边
来源:互联网 发布:2017年猝死的程序员 编辑:程序博客网 时间:2024/05/15 21:46
将png图片作为纹理贴图,在图片周围会产生黑边,在网上查了一下,都没有明确指出解决方法!废话不说了,看代码。
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图片黑边
- 【C#/OpenGL】CSGL中2D纹理加载PNG等透明图片显示的黑边问题
- png图片的简单介绍, 使用libpng读取内容,用于纹理贴图
- 解决IE 下PNG透明图片黑边问题
- 关于Eclipse使用.9.png图片出现黑边问题
- openCV读入图片,openGL实现纹理贴图
- 去除png图片的背景颜色
- js去除png格式的图片阴影
- OpenGL使用libPng读取png图片
- OpenGL使用libPng读取png图片
- Wince贴图 显示png wince GDI图片显示半透明
- OpenGL纹理贴图24位bmp图片,代码如下
- js解决ie8浏览器png图片使用动态效果时,出现黑边问题
- IE8下jQuery改变png图片透明度时出现的黑边问题
- PNG图片的背后
- 实现png图片半透明
- wince 加载PNG图片
- 以求医为例谈搜索引擎排序算法的基础原理
- strlen sizeof详解
- Android OpenGL es 纹理坐标设定与贴图规则
- 央视棒打百度的三个现象
- android2.3 SD卡、U盘自动挂载
- OpenGL png图片 纹理贴图,去除png图片黑边
- C#中实现的抢占式单点登录
- JNI
- [Software] Saliency Map Algorithm : MATLAB Source Code
- 《生于80年代》
- LCD驱动调试中部分常见问题
- 我坐下去就是个码头
- 如何面试Web前端开发工程师
- 《大连金州没有眼泪》