下面列出一些在开发中常用到的OpenGL的各种数据类型
Type | Explain |
---|---|
GLenum | 用于GL枚举的无符号整型。通常用于通知OpenGl 由指针传递的存储于数组中数据的类型(例如,GL_FLOAT用于指示数组由CGFloat组成) |
GLboolean | 用于单布尔值。OpenGL ES还定义拉其自己的"真"和"假"值(GL_TRUE和GL_FALSE)以避免平台和语言的差别。当向OpenGL传递布尔值时,请使用这些值而不是使用YES或NO(尽管由于它们的定义实际没有区别,即使你不小心使用拉YES或NO。但是,使用GL-定义值是一个好的习惯。) |
GLbitfied | 用于将多个布尔值(最后32个)打包到单个使用位操作变量的四字节整型。 |
GLbyte | 有符号单字节整型,包含数值从-128 到 127 |
GLshart | 有符号四字节整型,包含数值从-32,768 到 32,767 |
GLint | 有符号四字整型,包含数值从-2,147,483,648 到 2,147,483,647 |
GLsizei | 有符号四字节整型,用于代表数据的尺寸(字节),类似于C冲的size_t |
GLubyte | 无符号单字节整型,包含数值从0到255 |
GLushort | 无符号双字节整型,包含数值从0 到 65,535 |
GLuint | 无符号四字节整型,包含数值从 0 到4,294,967,295 |
GLfloat | 四字节精度IEEE 754-1985 浮点数 |
GLclampf | 这也是四字节精度浮点数,但OpenGL使用GLclamp特别标识数值为0.0 到 1.0 |
GLvoid | vlod值用于指示一个函数没有返回值,或没有参数 |
GLfixed | 定点数,使用整型数存储实数。由于大部分计算机处理器在处理整型数比处理浮点数快很多,这通常是对3D系统的优化。但因为iPhone具有用于浮点运算的矢量处理器,我们将不讨论顶点运算或GLfixed数据类型 |
GLclampx | 另一种定点型,用于使用定点运算来表示0.0 到 1.0之间的实数。正如GLfixed,我们不会讨论或使用它。 |
OpenGL ES (至少iPhone目前所使用的版本)不支持8字节(64位)数据类型,如long 或 double。OpenGL 其实具有这些大型数据类型,但考虑到大部分嵌入式设备屏幕尺寸以及可能为它们所写的程序类型而且使用它们有可能对性能造成不利的影响,最后的决定是在OpenGL ES中排除这些数据类型。
网友评论