Android OpenGL ES 开发教程(4):OpenGL ES API 命名习惯
来源:互联网 发布:宜州市一中网络硬盘 编辑:程序博客网 时间:2024/06/05 07:54
OpenGL ES是个跨平台的3D图形开发包规范,最常见的实现是采用C语言实现的,Android OpenGL ES 实现上是使用Java 语言对底层的C接口进行了封装,因此在android.opengl javax.microedition.khronos.egl ,javax.microedition.khronos.opengles 包中定义的OpenGL相关的类和方法带有很强的C语言色彩。
- 定义的常量都以GL_为前缀。比如GL10.GL_COLOR_BUFFER_BIT
- OpenGL ES 指令以gl开头 ,比如gl.glClearColor
- 某些OpenGL指令以3f 或4f结尾,3和4代表参数的个数,f代表参数类型为浮点数,如gl.glColor4f ,i,x 代表 int如 gl.glColor4x
- 对应以v结尾的OpenGL ES 指令,代表参数类型为一个矢量(Vector) ,如 glTexEnvfv
- 所有8-bit整数对应到byte 类型,16-bit 对应到short类型,32-bit整数(包括GLFixed)对应到int类型,而所有32-bit 浮点数对应到float 类型。
- GL_TRUE,GL_FALSE 对应到boolean类型
- C字符串((char*)) 对应到Java 的 UTF-8 字符串。
在前面Android OpenGL ES 开发中的Buffer使用 说过OpenGL ES 说过为了提高性能,通常将顶点,颜色等值存放在java.nio 包中定义的Buffer类中。下表列出了OpenGL ES指令后缀, Java类型,Java Buffer(java.nio)类型的对照表
// The colors mapped to the vertices.float[] colors = {1f, 0f, 0f, 1f, // vertex 0 red0f, 1f, 0f, 1f, // vertex 1 green0f, 0f, 1f, 1f, // vertex 2 blue1f, 0f, 1f, 1f, // vertex 3 magenta};...// float has 4 bytes, colors (RGBA) * 4 bytesByteBuffer cbb= ByteBuffer.allocateDirect(colors.length * 4);cbb.order(ByteOrder.nativeOrder());colorBuffer = cbb.asFloatBuffer();colorBuffer.put(colors);colorBuffer.position(0);
- Android OpenGL ES 开发教程(4):OpenGL ES API 命名习惯
- Android OpenGL ES 开发教程(4):OpenGL ES API 命名习惯
- Android OpenGL ES 开发教程(4):OpenGL ES API 命名习惯
- Android OpenGL ES(三):OpenGL ES API 命名习惯
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(3):OpenGL ES管道(Pipeline)
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(3):OpenGL ES管道(Pipeline)
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(3):OpenGL ES管道(Pipeline)
- Android OpenGL ES 教程
- Android开发之OpenGL+ES教程
- Android OpenGL ES 简明开发教程
- Android OpenGL ES 简明开发教程
- Android开发之OpenGL+ES教程
- Android OpenGL ES 简明开发教程
- Android OpenGL ES 开发教程(1):导言
- Android OpenGL ES 开发教程(6):GLSurfaceView
- boost学习之bind
- 死锁
- redhat gcc g++安装
- poj 2187 Beauty Contest 凸包最长直径
- VIM配置文件
- Android OpenGL ES 开发教程(4):OpenGL ES API 命名习惯
- XML 编码格式
- 服务器通过Servlet接收文件
- 英语词汇3
- Nginx SPDY patch实现
- poj 1837Balance
- TYVJ1031:SPFA算法的使用
- 使用 PDI 和 Oracle CDC 来实现Oracle 数据库向其他数据库的数据同步
- poj 3608 Bridge Across Islands 凸包最短距离