- 浏览: 262251 次
-
最新评论
文章列表
前面的例子显示的正方形都是白色,看其来不是很吸引人,本篇介绍如何给Mesh(网格)添加颜色。OpenGL ES使用颜色是我们熟知的RGBA模式(红,绿,蓝,透明度)。
颜色的定义通常使用Hex格式0xFF00FF 或十进制格式(255,0,255), 在OpenGL 中却是使用0…1之间的浮点数表示。 0为0,1相当于255(0xFF)。
最简单的上色方法叫做顶点着色(Vertxt coloring),可以使用单色,也可以定义颜色渐变或者使用材质(类同于二维图形中各种Brush类型)。
Flat coloring(单色)
是通知OpenGL使用单一的颜色来渲染,OpenGL将一直使用指定 ...
- 2012-05-02 08:23
- 浏览 256
- 评论(0)
本篇介绍3D 坐标系下的坐标变换transformations。
Coordinate System坐标系
OpenGL使用了右手坐标系统,右手坐标系判断方法:在空间直角坐标系中,让右手拇指指向x轴的正方向,食指指向y轴的正方向,如果中指能指向z轴的正方向,则称这个坐标系为右手直角坐标系。
Translate平移变换
方法public abstract void
glTranslatef (float x, float y, float z) 用于坐标平移变换。
在上个例子中我们把需要显示的正方形后移了4个单位,就是使用的坐标的平移变换,可以进行多次平移变换,其结果为多个平移矩 ...
- 2012-05-02 08:19
- 浏览 252
- 评论(0)
Jave ME 平台
Java ME地图应用开发环境
Java ME引路蜂地图开发示例:第一个地图应用
Java ME引路蜂地图开发示例:设置地图类型
Java ME引路蜂地图开发示例:放大、缩小
Java ME引路蜂地图开发示例:地图平移
Java ME引路蜂地图开发示例:地址查询
Java ME引路蜂地图开发示例:路径查询
Java ME引路蜂地图开发示例:本地查询
Java ME引路蜂地图开发示例:IP地址查询
- 2012-05-01 22:24
- 浏览 281
- 评论(0)
Android OpenGL ES 简明开发教程
Android OpenGL ES 简明开发教程一:概述
Android OpenGL ES 简明开发教程二:构造OpenGL ES View
Android OpenGL ES 简明开发教程三:3D绘图基本概念
Android OpenGL ES 简明开发教程四:3D 坐标变换
Android OpenGL ES 简明开发教程五:添加颜色
Android OpenGL ES 简明开发教程六: 真正的3D图形
Android OpenGL ES 简明开发教程七:材质渲染
Android OpenGL ES 开发教程
Android Op ...
- 2012-05-01 22:21
- 浏览 293
- 评论(0)
Android OpenGL ES 简明开发教程
Android OpenGL ES 简明开发教程一:概述
Android OpenGL ES 简明开发教程二:构造OpenGL ES View
Android OpenGL ES 简明开发教程三:3D绘图基本概念
Android OpenGL ES 简明开发教程四:3D 坐标变换
Android OpenGL ES 简明开发教程五:添加颜色
Android OpenGL ES 简明开发教程六: 真正的3D图形
Android OpenGL ES 简明开发教程七:材质渲染
Android OpenGL ES 开发教程
Android Op ...
- 2012-05-01 22:21
- 浏览 159
- 评论(0)
Android开发教程
Android简明开发教程
PDF版本(7M)
Android简明开发教程一:概述
Android简明开发教程二:安装开发环境
Android简明开发教程三:第一个应用Hello World
Android简明开发教程四:Android应用基本概念
Android简明开发教程五:Activities
Android简明开发教程六:用户界面设计
Android简明开发教程七:Intents和Intent Filters
Android简明开发教程八:引路蜂二维图形绘制实例功能定义
- 2012-05-01 22:15
- 浏览 359
- 评论(0)
Android开发教程
Android简明开发教程
PDF版本(7M)
Android简明开发教程一:概述
Android简明开发教程二:安装开发环境
Android简明开发教程三:第一个应用Hello World
Android简明开发教程四:Android应用基本概念
Android简明开发教程五:Activities
Android简明开发教程六:用户界面设计
Android简明开发教程七:Intents和Intent Filters
Android简明开发教程八:引路蜂二维图形绘制实例功能定义
- 2012-05-01 22:15
- 浏览 136
- 评论(0)
前面介绍了使用Android 编写OpenGL ES应用的程序框架,本篇介绍3D绘图的一些基本构成要素,最终将实现一个多边形的绘制。
一个3D图形通常是由一些小的基本元素(顶点,边,面,多边形)构成,每个基本元素都可以单独来操作。
Vertex (顶点)
顶点是3D建模时用到的最小构成元素,顶点定义为两条或是多条边交会的地方。在3D模型中一个顶点可以为多条边,面或是多边形所共享。一个顶点也可以代表一个点光源或是Camera的位置。下图中标识为黄色的点为一个顶点(Vertex)。
在Android系统中可以使用一个浮点数数组来定义一个顶点,浮点数数组通常放在一个Buffer(java. ...
- 2012-05-01 22:07
- 浏览 320
- 评论(0)
在Andorid平台上构造一个OpenGL View非常简单,主要有两方面的工作:
GLSurfaceView
Android平台提供的OpenGL ES API主要定义在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等几个包中,其中类GLSurfaceView 为这些包中的核心类:
起到连接OpenGL ES与Android 的View层次结构之间的桥梁作用。
使得Open GL ES库适应于Anndroid系统的Activity生命周期。
使 ...
- 2012-05-01 21:59
- 浏览 244
- 评论(0)
ApiDemos 的Graphics示例中含有OpenGL ES 例子,OpenGL ES 主要用来开发3D图形应用的。OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。
下面是维基百科中对应OpenGL ES的简介:
OpenGL ES 是从 OpenGL 裁剪定制而来的,去除了 glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管 ...
- 2012-05-01 21:56
- 浏览 205
- 评论(0)
GNavigator是 曾经发布在Nokia Ovi Store的Java ME应用,基本使用到了引路蜂地图API的所有功能,尽管这是一个基于LWUIT的应用,使用Java语言开发,其它平台也可以参考这个应用的代码。
总代码量大约为24000行,其中纯代码为12000行。
几个用户界面如下:
包括导航演示(可以连接GPS)
代码下载 ,用户手册 ,为Netbean 项目。
- 2012-05-01 21:53
- 浏览 163
- 评论(0)
GNavigator是 曾经发布在Nokia Ovi Store的Java ME应用,基本使用到了引路蜂地图API的所有功能,尽管这是一个基于LWUIT的应用,使用Java语言开发,其它平台也可以参考这个应用的代码。
总代码量大约为24000行,其中纯代码为12000行。
几个用户界面如下:
包括导航演示(可以连接GPS)
代码下载 ,用户手册 ,为Netbean 项目。
- 2012-05-01 21:53
- 浏览 179
- 评论(0)
前面已经说过Android SDK ,NDK, APK, 现在有来了个ADK, 这么多K:-). 那么什么是ADK,ADK是Android Open Accessory Development Kit 的缩写。使用ADK使得不支持USB Host功能的Android设备也可以和其它USB设备交互。比如使用Android手机来控制步进电机,条码扫描仪,机器人等。
Android 设备支持各种各样的USB设备,即可以以USB Host模式工作,也可以以USB Accessory 模式工作:
从Android 3.1 (API Level 12) 开始Andriod平台开始支持USB Acce ...
- 2012-05-01 21:51
- 浏览 334
- 评论(0)
这是本系列最后一篇,最后就是将整个程序组成起来。坦克大战游戏中有六个用户界面:
音效设置
开始界面
选择关卡界面
游戏主界面
分数界面
游戏结束界面
按照Android程序一般设计方法,一般一个界面对应一个Activity。这样就需要设计6个Activity子类对实现各个界面。
在移植的过程,这里采用了一个简单的方法,采用一个Activity对就于 Java ME中的Midlet。
主Activity采用FrameLayout
<?xml version=”1.0″ encoding=”utf-8″?>
<FrameLayout xmlns:android ...
- 2012-05-01 21:48
- 浏览 279
- 评论(0)
本篇介绍坦克大战游戏中的主角,坦克类。游戏中坦克种类有多种,但主要特性大同小异。下图为游戏中定义的坦克类层次图。
Tank为所有坦克类的基类,它定义了几个主要的方法
think() 思考,如有AI,算法在这里实现,对于简单坦克SimpleTank,可能随机选择一步,而对SmartTank来说,向靠近玩家坦克的方向前进一步。
drive() 根据Think决定前进一步
shoot() 根据当前条件决定发射一棵子弹。PlayerTank由玩家和可同时发射的子弹来控制,Enemy坦克一般随机控制是否要发射子弹。
基类每个游戏帧的操作如下
/**
* Operation be ...
- 2012-05-01 21:47
- 浏览 353
- 评论(0)