OpenGL基础概念

什么是OpenGL:OpenGL的英文全称是Open Graphics Library,中文释义就是开放图形库。顾名思义就是图形硬件的一套软件接口。而且这套软件接口具有高度可移植,速度快的特点。

什么是ARB:ARB是OpenGL体系架构审核委员会,顾名思义就是对OpenGL的体系架构进行审核的。由众多厂商参与,如:苹果,微软,IBM,AMD等等。

什么是khronos:khronos是主要进行OpenGL标准制定和维护的一个组织。由上述厂商以及其他开发者参与。

OpenGL扩展机制:就是各大厂商可以在拿到OpenGL规范后,利用扩展机制将自己的实现加入到OpenGL库里面。这些扩展机制包括但不限于以下条例:
1.提供商可以向OpenGL中添加新的函数,用代表提供商的前缀名加以区分。常见的前缀名如图所示:
这里写图片描述
2.提供商可以添加已经被OpenGL识别的函数标记或者枚举。

GLUT:GLUT的英文全称是OpenGL Utility Toolkit,中文释义就是OpenGL实用工具箱。它封装了简单的GUI操作,可以方便开发人员在不同平台间进行3D图形绘制的测试等工作。现在已经被freeglut所代替。

GLEW:一个自动初始化所有新函数指针并包含所需类型定义,常量和枚举的扩展加载库。

GLTools:OpenGL工具箱,用来存放常用的OpenGL库文件,如GLEW。

数据类型:OpenGL中的数据类型是跨平台的,常见的数据类型如下图所示:
这里写图片描述

错误提示:我们可以使用glGetError函数来获取当前的错误码。常见错误码如下图所示:
这里写图片描述

常用的接口:
1.glGetString:用来获取厂商信息和对应opengl版本号等。
2.glHint:用来对指定目标按照指定模式(高性能,高速度等)进行设定。这个接口完全依赖于厂商,不同厂商的实现的方式和最终的效果可能不一致。
3.glEnable:用来开启指定的状态。
4.glDisable:用来关闭指定的状态。
5.glIsEnable:用来判定指定状态是否开启。
6.glGetBooleanv / glGetDoublev / glGetFloatv / glGetIntegerv:用来获取指定状态的值到指定地址中。

猜你喜欢

转载自blog.csdn.net/zjz520yy/article/details/81265892
今日推荐