
Android OpenGL ES基础
文章平均质量分 76
jackie03
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android OpenGL ES(二):OpenGL ES管道(Pipeline)
大部分图形系统都可以比作工厂中的装配线(Assemble line)或者称为管道(Pipeline)。前一道的输出作为下道工序的输入。主CPU发出一个绘图指令,然后可能由硬件部件完成坐标变换,裁剪,添加颜色或是材质,最后在屏幕上显示出来。OpenGL ES 1.x 的工序是固定的,称为Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工的工序是固定的,但转载 2012-02-27 14:40:53 · 3119 阅读 · 0 评论 -
Android OpenGL ES(十二):阶段小结
之前介绍了什么是 OpenGL ES ,OpenGL ES 管道的概念,什么是EGL,Android中OpenGL ES的开发包以及GLSurfaceView,OpenGL ES所支持的基本几何图形:点,线,面,已及如何使用这些基本几何通过构成较复杂的图像(20面体)。Android OpenGL ES(一):关于OpenGL ESAndroid OpenGL ES(二):Op转载 2012-02-28 17:40:15 · 1884 阅读 · 0 评论 -
Android OpenGL ES(十一):绘制一个20面体
前面介绍了OpenGL ES所有能够绘制的基本图形,点,线段和三角形。其它所有复杂的2D或3D图形都是由这些基本图形构成。本例介绍如何使用三角形构造一个正20面体。一个正20面体,有12个顶点,20个面,30条边构成:创建一个DrawIcosahedron Activity, 定义20面体的12个顶点,和20个面如下:static final float转载 2012-02-28 16:19:31 · 3125 阅读 · 0 评论 -
Android OpenGL ES(十):绘制三角形Triangle
三角形为OpenGL ES支持的面,同样创建一个DrawTriangle Activity,定义6个顶点使用三种不同模式来绘制三角形:float vertexArray[] = { -0.8f, -0.4f * 1.732f, 0.0f, 0.0f, -0.4f * 1.732f, 0.0f, -0.4f, 0.4f * 1.732f, 0.0f, 0.0f, -0.0f * 1.73转载 2012-02-28 16:07:47 · 1924 阅读 · 0 评论 -
Android OpenGL ES(八):绘制点Point
上一篇介绍了OpenGL ES能够绘制的几种基本几何图形:点,线,三角形。将分别介绍这几种基本几何图形的例子。为方便起见,暂时在同一平面上绘制这些几何图形,在后面介绍完OpenGL ES的坐标系统和坐标变换后,再介绍真正的3D图形绘制方法。在Android OpenGL ES(六):创建实例应用OpenGLDemos程序框架 创建了示例应用的程序框架,并提供了一个“Hello Worl转载 2012-02-28 14:56:56 · 2663 阅读 · 0 评论 -
Android OpenGL ES(七):基本几何图形定义
在前面Android OpenGL ES(六):创建实例应用OpenGLDemos程序框架 我们创建了示例程序的基本框架,并提供了一个“Hello World”示例,将屏幕显示为红色。本例介绍OpenGL ES 3D图形库支持的几种基本几何图形,通常二维图形库可以绘制点,线,多边形,圆弧,路径等等。OpenGL ES 支持绘制的基本几何图形分为三类:点,线段,三角形。也就是说OpenG转载 2012-02-28 11:41:13 · 3333 阅读 · 0 评论 -
Android OpenGL ES(十四):通用的矩阵变换指令
Android OpenGL ES 对于不同坐标系下坐标变换,大都使用矩阵运算的方法来定义和实现的。这里介绍对应指定的坐标系(比如viewmodel, projection或是viewport) Android OpenGL ES支持的一些矩阵运算及操作。OpenGL ES 中使用四个分量(x,y,z,w)来定义空间一个点,使用4个分量来描述3D坐标称为齐次坐标 :所谓齐次坐标就是将一个原转载 2012-02-29 11:17:31 · 5910 阅读 · 1 评论 -
Android OpenGL ES(九):绘制线段Line Segment
创建一个DrawLine Activity,定义四个顶点:float vertexArray[] = { -0.8f, -0.4f * 1.732f, 0.0f, -0.4f, 0.4f * 1.732f, 0.0f, 0.0f, -0.4f * 1.732f, 0.0f, 0.4f, 0.4f * 1.732f, 0.0f,};分别以三种模式GL_LINES,GL_LINE_S转载 2012-02-28 15:58:52 · 2645 阅读 · 0 评论 -
Android OpenGL ES(三):OpenGL ES API 命名习惯
OpenGL ES是个跨平台的3D图形开发包规范,最常见的实现是采用C语言实现的,Android OpenGL ES 实现上是使用Java 语言对底层的C接口进行了封装,因此在android.opengl javax.microedition.khronos.egl ,javax.microedition.khronos.opengles 包中定义的OpenGL相关的类和方法带有很强的C语言色彩。转载 2012-02-27 15:04:52 · 2752 阅读 · 0 评论 -
Android OpenGL ES(六):创建实例应用OpenGLDemos程序框架
有了前面关于Android OpenGL ES的介绍,可以开始创建示例程序OpenGLDemos。使用Eclipse 创建一个Android项目Project Name: OpenGLDemosBuild Target: Android 1.6 ( >1.5 即可)Application Name: Android OpenGL ES DemosPackage Na转载 2012-02-27 17:58:18 · 4889 阅读 · 0 评论 -
Android OpenGL ES(四):关于EGL
OpenGL ES的javax.microedition.khronos.opengles 包定义了平台无关的GL绘图指令,EGL(javax.microedition.khronos.egl )则定义了控制displays ,contexts 以及surfaces 的统一的平台接口。Display(EGLDisplay) 是对实际显示设备的抽象。Surface(E转载 2012-02-27 16:09:50 · 9910 阅读 · 0 评论 -
Android OpenGL ES(一):关于OpenGL ES
在学习Android OpenGL ES开发之前,你必须具备Java 语言开发经验和一些Android开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一些基本的线性几何知识,如矢量,矩阵运算等。此外Android SDK 中有关OpenGL ES API的开发文档android.opengljavax.microedition.khronos.eglja转载 2012-02-27 14:36:25 · 3314 阅读 · 0 评论 -
Android OpenGL ES(五):GLSurfaceView
Android OpenGL ES 相关的包主要定义在javax.microedition.khronos.opengles GL 绘图指令javax.microedition.khronos.egl EGL 管理Display, surface等android.opengl Android GL辅助类,连接OpenGL 与Android转载 2012-02-27 16:56:17 · 14688 阅读 · 0 评论 -
Android OpenGL ES(十三):三维坐标系及坐标变换初步
OpenGL ES图形库最终的结果是在二维平面上显示3D物体(常称作模型Model)这是因为目前的打部分显示器还只能显示二维图形。但我们在构造3D模型时必须要有空间现象能力,所有对模型的描述还是使用三维坐标。也就是使用3D建模,而有OpenGL ES库来完成从3D模型到二维屏幕上的显示。这个过程可以分成三个部分:坐标变换,坐标变换通过使用变换矩阵来描述,因此学习3D绘图需要了解转载 2012-02-28 18:14:28 · 3705 阅读 · 1 评论