Archive for the ‘OpenGL ES’ Category

3.3点 点的光栅化由下两个函数控制: Void  PointSize(float  size); Void  PointSizex(fixed  size); Size定义了点的尺寸。默认值是1.0。一个小于或等于0的值会导致错误INVALID_VALUE。 点的尺寸会乘上一个距离衰减因子,固定于由PointParameter定义的尺寸范围,参看下面叙述,更固定于依赖执行的点范围去推导出衍生的点尺寸: 这里d是眼坐标中眼和顶点坐标的距离,(0,0,0,1)是眼的坐标,a、b和c是距离衰减函数系数。

2.10 坐标变换 顶点,规格化和纹理坐标 在应用到帧缓存中构建图片前都需要变换。我们开始介绍顶点坐标如何变换和如何控制这些变换。 图示2.5. 顶点变换序列

光栅化 光栅化是一种将基本图元转化为二维图像的处理。转化后的图像的每个像素点都包括诸如颜色和深度的信息。因此可见,基本图元的光栅化由两部分工作组成。第一部分工作是决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分工作是分配一个颜色值和一个深度值到各个区域。处理的结果会被传递到GL的下一个平台(片元操作),在那里利用消息区更新帧缓存中的适当区域。 图3.1图解光栅处理

2.9缓存对象 之前提到的顶点数据数组都保存在客户端的内存中,而有时候理想保存使用频繁的客户端数据(例如顶点数组数据)的位置是高性能的服务器内存。GL缓存对象提供了一套机制,使客户端可以分配,初始化和渲染服务器端内存。

当前顶点状态 当一个顶点数组被定义,但是数据还不可用时,当前值常用于联合顶点辅助的数据。当前值可能在任何时候被独占命令改变。 使用以下的命令可设置当前的RGBA颜色值。 void Color4{xf}(T red, T green, T blue, T alpha); void Color4ub(ubyte red, ubyte green, ubyte blue, ubyte alpha);

在GL中,简单几何对象通过一些坐标集合被绘制,这些坐标集合包括顶点和可选的规格化,纹理坐标和颜色。坐标集合使用顶点数组来定义。这里定义了七种简单几何对象可以被绘制:点(包括点精灵),连接的线段(多线段),封闭的线段,单独的线段,多三角形,三角扇形和单独的三角形。 每个顶点被2个,3个或者4个坐标值定义。另外,当前规格化,多纹理坐标系和当前颜色可以在每个顶点中处理。规格化通常用于光照的计算。当前规格化是设置3个坐标值的三维矢量。纹理坐标决定纹理图如何映射到简单几何物体的表面上。多纹理坐标系用于定义多个纹理图如何映射到简单几何物体的表面。纹理集合的数量取决于具体实现,但是至少支持2种。支持纹理集合的数量可以通过查询MAX_TEXTURE_UNITS获得。

随着android平台的推广和android手机的大量推出,有人预言android将是一个嵌入式的统一平台。果真如此吗?Apple,Microsoft, nokia不会坐视不管的,在想想unix各种混乱的版本,总让人忧心忡忡。不过有google这位大神做东,至少在短期内,android会很稳定,市场会有一席之地。目前,网上很少有使用java开发的开源游戏引擎,大多数情况下都因为java的执行效率问题。不过,既然google官方提供了opengles的支持,为什么不试下呢?至少程序员可以不担心硬件层的差异了。

前一阵子,一直在忙公司的iPhone的项目HourglassTimer,顺便了解下iPhone 平台上的2D引擎cocos2d-iphone库的使用。由于一直没有发现android上的基于Opengl ES 2D/3D引擎库(网上只发现了一个java monkey engine项目,pc平台上的游戏引擎。如果有人知道其他的开源项目,非常欢迎告诉我 ),所以自己准备将cocos2d移植到android平台上。最近做了些初步研究,这里逐步写下来,给自己留个笔记,也希望和大家一起讨论。闲言少叙,直接进入正题。

基础GL操作 图例2.1显示了一个GL的大纲图表。GL命令从左边输入。一些命令用于几何图形的绘制,另一些用于控制不同场景中的对象。

GL状态 GL拥有相当多的状态。这份文档列举了每个状态变量,并且描述了如何改变这些变量。为了方便讨论,状态变量根据功能被归类。虽然GL操作在帧缓存中执行,但是帧缓存不属于GL状态。 虽然GL的实现可能依赖于硬件,该规范不依赖于任何特别实现GL的硬件,因此我们关注于图形卡与GL精确通信后的状态。


About mo-Android

这里有一群热爱开发的人,我们的文章以原创、翻译为主,包含了我们对Android的认识,对Android的研究,以及一些开发心得和感想,如果 你喜欢我们的站点,喜欢我们的文章,欢迎拍砖,欢迎交流。希望新版的mo-Android能够为你带来更好的体验。

  • fennek: 爱国者也出了平板-E500,Android 1.5,5 英寸TFT LCD触摸屏(电阻式触摸板) ,800*48 [...]
  • 张凯: 这款三星的平板售价据说是iPad的两倍啊 [...]
  • sayisee: G1是享受不动了,呵呵~ PS:烦请博主到下面链接,帮忙选投上数第六个(西 [...]
  • fennek: 找了半天,在国家和地区的选项里只有香港,没有中国大陆,运营商里也只 [...]
  • 卡卡西: 1.6能向下兼容1.5的,目前没发现1.5的程序在1.6的机器上有什么问题,作者不要 [...]

Calendar

2010年九月
« 八    
 12345
6789101112
13141516171819
20212223242526
27282930