Android平台3D引擎研究4
来源:互联网 发布:淘宝卖茶叶需要什么证 编辑:程序博客网 时间:2024/05/16 23:01
OpenGL ES纹理处理
使用OpenGL ES的纹理可以将图片贴到3D模型上,从而生成逼真的3D场景。纹理是以图片文件形式存在的,图片被归一化为(0.0, 0.0)到(1.0, 1.0)的矩形区域,通常一个3D物体具有一个纹理文件即可,每处三角片所使用的纹理可以通过uv坐标来指定。通过三角片每个顶点在归一化后图片中的坐标,可以从纹理图片中取出相应的三角形区域,OpenGL ES将该区域进行放缩旋转后绘制到三角片上。具体处理代码如下所示:
obj = new MgnavObject(true, true, false); // 第一个参数表示使用纹理坐标,第三个参数表示不使用颜色
下面代码导入纹理:
从上面的代码中可以看出,是读取SD卡中的一个文件作为纹理图片。
下面为立方体正面赋给纹理坐标:
// 1. front
对于上面的纹理坐标比较难以理解,下面通过图形来加以说明:
图1
上面是立方体正面顶点编号,上面代码加入了1、3、2及1、4、3这两个三角片。
本来的纹理坐标如下图所示:
图2
其坐标原点在左下角,与OpenGL ES几何元素的坐标是上下颠倒的。在从其他3D软件导出时,这些软件将自动将图片进行上下颠倒。但是我们这里直接用图片贴图时,我们需要人工将纹理图片颠倒一下,在这里将纹理坐标进行上下颠倒:
图3
这时与顶点所对就的纹理坐标就是代码中所设置的值。
注:由于不能将图片贴上,请看本博文新浪博客上的完整版:http://blog.sina.com.cn/s/blog_5d8486b40100q2vc.html
- Android平台3D引擎研究4
- Android平台3D引擎研究3
- Android平台3D引擎研究2
- Android手机3D引擎研究1
- 3D引擎研究初始
- Android 3D引擎
- 最通用的跨平台引擎:ShiVa 3D引擎
- android 3D引擎 catcake
- Android游戏开发视频教程下载(Android4.3、Cocos2d-x、Untity2D/3D、跨平台引擎技术)
- 移动平台的2d游戏引擎(android&iphone)
- Android/Ophone平台2D游戏引擎实现系列文章
- 基于多核平台优化的OGRE 3D渲染引擎
- RIM发布Gameplay跨平台开源3D引擎
- 3D游戏引擎StingRay:支持实时多平台研发
- 基于多核平台优化的OGRE 3D渲染引擎
- Android之3D物理引擎
- Android 开源3D游戏引擎汇总
- Ophone平台2D游戏引擎实现物理引擎二(4)
- Javascript中继承的实现方法
- Android手机3D引擎研究1
- linux下安装vmware(ubuntu+vmware.bundle)
- Android平台3D引擎研究2
- Android平台3D引擎研究3
- Android平台3D引擎研究4
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用5
- 浏览器有感
- renderscript
- 解决Ubuntu的乱码问题
- ubuntu怎样备份数据
- Idhttp Post 模拟提交验证码
- C语言打印菱形
- 定积分和不定积分的区别