min3d 引擎学习笔记之一
来源:互联网 发布:哪家证券公司炒股软件 编辑:程序博客网 时间:2024/05/22 01:35
min3d是一个小巧的android 3d UI引擎, 最近想对其进行深入源码分析, 在深入学习之前, 还是先学会怎么用它吧。
min3d是基于opengl es 1.x的, 它封装了opengl 的一些基本的绘图操作以及绘图管理和渲染操作,形成了一个框架。核心类主要包括场景类(Scene), 渲染类(Render)以及场景上的对象类(Object3d)及其子类。它提供了一个活动类RenderActivity, 使用者只需要实现其中的initScene()和updateScene()方法即可。
下面给出一个使用的例子:
如下代码绘制一个正方形,并进行纹理贴图。
import min3d.Shared;import min3d.Utils;import min3d.core.Object3d;import min3d.core.RendererActivity;import min3d.vos.Number3d;import min3d.vos.RenderType;import min3d.vos.Uv;import android.graphics.Bitmap;public class TestAndroid8Activity extends RendererActivity {Object3d square;@Overridepublic void initScene() {Bitmap b = Utils.makeBitmapFromResourceId(this, R.drawable.icon);/** * 采用glDrawElements()方法, 一个face代表一个三角形 */square = new Object3d(4, 2, true, false, false);square.vertices().addVertex(new Number3d(-1.0f, -1.0f, 0), new Uv(0, 0), null, null);square.vertices().addVertex(new Number3d(1.0f, -1.0f, 0), new Uv(0, 1), null, null);square.vertices().addVertex(new Number3d(-1.0f, 1.0f, 0), new Uv(1, 0), null, null);square.vertices().addVertex(new Number3d(1.0f, 1.0f, 0), new Uv(1, 1), null, null);square.renderType(RenderType.TRIANGLE_STRIP);//square.faces().add(0, 1, 2);//square.faces().add(1, 3, 2);Utils.addQuad(square, 2, 3, 1, 0);square.doubleSidedEnabled(true);/** * 采用glDrawArrays()方法, 忽略face *///square = new Object3d(4, 0, false, false, false);//square.vertices().addVertex(new Number3d(-1.0f, -1.0f, 0), null, null, null);//square.vertices().addVertex(new Number3d(1.0f, -1.0f, 0), null, null, null);//square.vertices().addVertex(new Number3d(-1.0f, 1.0f, 0), null, null, null);//square.vertices().addVertex(new Number3d(1.0f, 1.0f, 0), null, null, null);//square.renderType(RenderType.TRIANGLE_STRIP);//square.ignoreFaces(true);//square.doubleSidedEnabled(true);Shared.textureManager().addTextureId(b, "icon", false);square.textures().addById("icon");b.recycle();scene.addChild(square);}@Overridepublic void updateScene() {// TODO Auto-generated method stubsquare.rotation().y++;}}
- min3d 引擎学习笔记之一
- min3d引擎使用指南(Android)<一>
- min3d引擎使用指南(Android)<二>
- min3d引擎使用指南(Android)<三>
- android使用min3d引擎加载模型
- min3d引擎使用指南(Android stdio)<一>
- 引擎开发学习之一
- cocos2d学习笔记(七)物理引擎box2d之一
- 正则表达式学习笔记之一——正则表达式引擎
- Flask学习总结笔记(3)-- Jinja2模板引擎之一
- HGE引擎学习笔记
- Nd2d引擎学习笔记
- LGame引擎学习之一(未续完)
- 学习笔记之一
- C#学习笔记之一
- Jabber学习笔记 之一
- C++学习笔记之一
- ABAP学习笔记之一
- Cocoa中的Text
- Cocoa画图
- Cocoa文件管理
- iphone编程 EXE_BAD异常
- 经常用到的Eclipse快捷键
- min3d 引擎学习笔记之一
- GOT(全局偏移表)和PLT(过程链接表)
- [转]创新工厂的面试题
- 业务需求调研经验分享
- matlab 矩阵/图片的水平镜像和垂直镜像
- Eclipse多线程使用
- hdu 2896(AC自动机模板题)
- Windows如何进行Object-C的开发
- Windows下UltraEdit查看Objective-C代码高亮工具