http://blog.csdn.net/cjkwin/article/details/6011882

用libpng把png图片读出来就可以用读出的数据生成文理了.

将png图片作为纹理贴图,在图片周围会产生黑边,在网上查了一下,都没有明确指出解决方法!废话不说了,看代码。

1.初始化

[java:showcolumns] view plaincopy
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150

  1. protected void init(GL10 gl) {
  2. // Setup background color
  3. gl.glClearColor(1, 1, 1, 1);
  4. gl.glEnable(GL10.GL_BLEND);
  5. gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
  6. glEnable(GL_DEPTH_TEST);
  7. glEnable(GL10.GL_ALPHA_TEST);  // Enable Alpha Testing (To Make BlackTansparent)
  8. glAlphaFunc(GL10.GL_GREATER,0.1f);  // Set Alpha Testing (To Make Black Transparent)
  9. // Setup project matrix
  10. gl.glMatrixMode(GL10.GL_PROJECTION);
  11. gl.glLoadIdentity();
  12. GLU.gluOrtho2D(gl, 0.0f,1.3f,0.0f,1.0f);
  13. gl.glEnable(GL10.GL_TEXTURE_2D);
  14. gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, texBuff);
  15. gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
  16. tex = loadTexture(gl, bmp);
  17. // Smooth shading
  18. gl.glShadeModel(GL10.GL_SMOOTH);
  19. }

2.加载纹理贴图

[c-sharp] view plaincopy
  1. protected static int loadTexture(GL10 gl, Bitmap bmp, boolean reverseRGB) {
  2. int[] textures = new int[1];
  3. glGenTextures(1, textures, 0);
  4. int mTextureID = textures[0];
  5. glBindTexture(GL_TEXTURE_2D, mTextureID);
  6. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST);
  7. glTexParameterf(GL_TEXTURE_2D,
  8. GL_TEXTURE_MAG_FILTER,GL_LINEAR);
  9. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,
  10. GL_CLAMP_TO_EDGE);
  11. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,
  12. GL_CLAMP_TO_EDGE);
  13. glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
  14. GL_REPLACE);
  15. GLUtils.texImage2D(GL_TEXTURE_2D, 0, bmp, 0);
  16. bmp.recycle();
  17. return mTextureID;
  18. }
3.效果图

转载于:https://blog.51cto.com/westsky/879568

OpenGL png图片 纹理贴图,去除png图片黑边相关推荐

  1. Three TextureLoader纹理贴图不显示图片(显示黑色)

    本人初学three.js,根据Three中文文档学习,在学习过程中发现TextureLoader纹理贴图不显示图片(显示黑色),在文档中的代码如下所示: // 纹理贴图映射到一个矩形平面上 var g ...

  2. LBP算法提取图片纹理特征图

    LBP算法提取图片纹理特征图 一.项目目标 采用LBP算法提取图片的纹理特征图. 二.LBP算法原理 LBP指局部二值模式,英文全称:Local Binary Patterns.最初功能为辅助图像局部 ...

  3. opengl生成图片php,(转)使用OpenGL显示图像(七)Android OpenGLES2.0——纹理贴图之显示图片...

    转:http://blog.csdn.net/junzia/article/details/52842816 前面几篇博客,我们将了Android中利用OpenGL ES 2.0绘制各种形体,并在上一 ...

  4. 16. OPenGL加载纹理贴图

    1. 说明 在OPenGL中,三维物体模型并非只能渲染单一颜色,还可以通过纹理贴图的方式进行渲染,增强物体模型的渲染效果,本篇文章简单讲解给一个矩形添加纹理图片效果. 效果展示: 纹理数据加载 2. ...

  5. Three TextureLoader纹理贴图不显示图片(显示黑色)的原因分析

    两种原因: 1.物体材质不对 代码: // 纹理贴图映射到一个矩形平面上 var geometry = new THREE.PlaneGeometry(204, 102); //矩形平面 // Tex ...

  6. OpenGL学习笔记——纹理贴图

    简单地说,纹理就是矩形的数据数组.例如,颜色数据.亮度数据.颜色和alpha数据.纹理数组中的单个值常常称为纹理单元(texel).纹理贴图之所以复杂,是因为矩形的纹理可以映射到非矩形的区域,并且必须 ...

  7. 2.x最终照着教程,成功使用OpenGL ES 绘制纹理贴图,添加了灰度图

    在之前成功绘制变色的几何图形之后,今天利用Openg ES的可编程管线绘制出第一张纹理. 学校时候不知道OpenGL的重要性,怕晦涩的语法.没有跟老师学习OpenGL的环境配置,现在仅仅能利用coco ...

  8. 2.x终于照着教程,成功使用OpenGL ES 绘制纹理贴图,增加了灰度图

    在之前成功绘制变色的几何图形之后,今天利用Openg ES的可编程管线绘制出第一张纹理.学校时候不知道OpenGL的重要性,怕晦涩的语法,没有跟老师学习OpenGL的环境配置,如今只能利用cocos2 ...

  9. android opengl es 圆锥纹理贴图

    效果图: 底面: 侧面: 底面圆核心代码: //初始化顶点数据的方法public void initVertexData(){// 顶点坐标数据的初始化================begin=== ...

最新文章

  1. 《OpenACC并行程序设计:性能优化实践指南》一 3.5 在应用程序执行期间记录性能信息...
  2. python 遍历xml所有节点
  3. oracle 五种索引创建
  4. .NET项目发布网站具体步骤和注意事项
  5. 数据库:SQLServer 实现行转列、列转行用法笔记
  6. ehcache 手动刷新缓存_清空DNS缓存的两个小方法
  7. python基础教程第三版-《Python基础教程第三版》原版中英文PDF+代码+袁国忠(译)...
  8. CSS里 @import用法
  9. 基于java的铁路火车售票系统
  10. ios加密算法AES
  11. ASP(Answer Set Programming)编程入门
  12. UE4 虚幻引擎 引用第三方库lib文件
  13. js锅打灰太狼(小游戏)
  14. 安防监控专用工业交换机与普通交换机的区别
  15. Matplotlib自定义图例(多张独立图共享图例)
  16. POSTGRESQL 用户怎么乱糟糟,出自其他DB的评论, 与SCHEMA 移魂大法
  17. 《浪潮之巅》——吴军
  18. php socket 服务端
  19. oracle中to_date详解
  20. QQ旋风踏上“迷你快车”山寨路

热门文章

  1. Qt Designer的信号和插槽编辑模式
  2. C语言二叉树曲折级顺序遍历(附完整源码)
  3. OpenGL framebuffer 帧缓冲区的实例
  4. C++longest palindromic subsequence最长回文子序列算法实现(附完整源码)
  5. QT的QScriptValueIterator类的使用
  6. QT的QMessageBox类的使用
  7. QT的Q3DTheme类的使用
  8. 材料成型计算机模拟第三版,材料成型计算机模拟实验报告模板学习.doc
  9. matlab转向梯形优化设计,转向梯形优化设计matlab程序
  10. python爬取考研成绩什么时候出来_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!...