OpenGL的数据类型 与 C中数据类型对应
来源:互联网 发布:mac dance with me 编辑:程序博客网 时间:2024/05/21 12:50
OpenGL的数据类型(转)
2009-04-14 12:23:30| 分类:图形 |字号 订阅
表3-2OpenGL数据类型及对应的C数据类型
OpenGL数据类型
数据类型
相应的C数据类型
后缀
GLbyte
8-bit integer
Signed char
b
GLshort
16-bit integer
Short
s
Gl int,GLsizei
32-bit integer
long
l
GLfloat,GLclampf
32-bit floating point
Float
f
GLdouble,GLclampd
64-bit floating point
Double
d
GLubyte,GLboolean
8-bit unsigned integer
Unsigned char
ub
GLushort
16-bit unsigned integer
Unsigned short
us
GLuint, GLenum, GLbitfield
32-bit unsigned integer
Unsigned long
ui
所有的数据类型都以GL开头,表示是OpenGL。紧跟在后面的大多是它们相应的C数据类型。一些开始有个u表示是无符号的数据类型,如:ubyte表示是无符号的字节。也给出了更多的描述名字的方法,如:size表示一个值的长度。GLsizei表示是一个GL变量,且参数的大小是一个整型。C lamp是用于颜色的。这种数据类型以f和d结尾表示实型或双精度型数据类型。GLboolean变量用于标示True和False;GLenum用于枚举型变量;GLbitfield 用于包含二进制位的区域的变量。
指针和数据组没有特别的考虑。一个包含10个GLshort变量的数组可以简单的定义如下:GLshort shorts[10];包含10个GLdouble变量的指针的数组可以定义如下:
GLdouble *double[10];一些指针型用于曲面造型的。这将在后面的章节中讲到。
函数命名方式
OpenGL的函数的命名方式可以告诉你你所使用的函数来自哪个库,及这个函数有几个参数和参数的类型。所有的函数都有一个词根来描述函数在OpenGL中相应的命令。例如:glColor3f() 有一个词根color。gl-前缀描述的是这个函数来自gl库(看一下表3-1);-3f后缀表示函数有三个实型参数。所有的OpenGL函数是如下格式:
<库前缀><根命令><参数的数目><参数的类型>。
图3-1所示为OpenGL函数的保各部分组成。
这个示例函数带有后缀3f表示有三个实型参数。另外的有三个整型参数(glColor3i()),三个双精度型参数(glColor3d())。这种添加了参数个数的命名方式可以使我们不用查看就能很容易的记住函数列表的个数。有一些glColor有四个参数来表示alpha[eryar:即透明度J ]值。在本书的参考部分,这些函数将以库的前缀和词根表列出。因此所有的变量类型 (glColor3f, glColor4f, glColor3i, 等等) 只将列表在glColor下面。
辅助库
通过本章的提醒你将会学使用辅助库来学习OpenGL。OpenGL的辅助库是一些特殊的函数,这些函数本来是用于初学者做简单的练习之用,因此这些函数不能在所有的OpenGL平台上使用,在WindowsNT环境下可以使用这些函数。这些函数使用简单,它们可以用于窗口管理、输入输出处理以及绘制一些简单的三维形体。为了使OpenGL的应用程序具有良好的移植性,在使用OpenGL辅助库的时候应谨慎。
平台独立性
OpenGL是一种有力的、灵活的绘制三维图形的API,它的300多条命令包含了三维中的一切东西,从设置材质颜色、反射效果到旋转和复杂的坐标变换。你会对OpenGL没有一条函数或命令涉及到窗口或屏幕管理而感到吃惊。另外,也没有键盘输入和鼠标交互的函数。由此可见,OpenGL的主要目的就是要做到平台独立性。在不同的平台中创建和打开窗口是用的不同的方法。即使OpenGL有关于打开窗口的命令,你是会用OpenGL的命令还是会用操作系统的API来打开一个窗口呢?
另外一个与平台有关的就是处理键盘和鼠标的输入事件。假如所有的操作系统都一样地处理,我们只需一个环境就可以了,这就没有必要” open ” API了。
- OpenGL的数据类型 与 C中数据类型对应
- OpenGL数据类型及对应C数据类型
- Delphi与C/C++ 数据类型的对应
- java与C语言的数据类型对应
- Android NDK开发中java数据类型与C/C++数据类型的对应关系
- Android NDK开发中java数据类型与C/C++数据类型的对应关系
- Android NDK开发中java数据类型与C/C++数据类型的对应关系
- SQL SERVER数据类型与C#中数据类型的对应关系
- C语言数据类型与openGL数据类型
- Oracle的Numer类型与C,C#数据类型对应关系
- C#与C++和C语言之间数据类型的对应
- Oracle的Numer类型与C,C#数据类型对应关系
- C#与C++和C语言之间数据类型的对应
- C#与C/C++数据类型对应关系
- c与c#数据类型对应关系
- SQL SERVER与C#中数据类型的对应关系
- SQL SERVER与C#中数据类型的对应关系
- sqlserver与c#中数据类型的对应关系
- UITextField用法总汇 (转载)
- 把tomcat中的webapps移走
- Ogre源代码浅析——脚本及其解析(一)
- 一道题弄明白二维数组的指针
- Ogre源代码浅析——脚本及其解析(二)
- OpenGL的数据类型 与 C中数据类型对应
- Uva 12124 Assemble
- 使用nexus创建私服
- 2+ Popular Open Source Database
- Ogre源代码浅析——脚本及其解析(三)
- Label用法总结
- 毕业设计-01
- Ogre源代码浅析——脚本及其解析(四)
- 将win7默认的启动过程(BIOS–>MBR–>DPT–>PBR–> Bootmgr)机制,换成由grub4dos来实现