OpenGL编程指南
- 格式:docx
- 大小:58.18 KB
- 文档页数:46
OpenGL编程入门什么是Open GL•是一个功能强大的图形库,用户可以很方便地开发所需要地有多种特殊视觉(如光照,纹理,透明,阴影)的三维图形。
•与软硬件平台无关的三维图形软件包,可运行于多种窗口系统之上•包含图元生成、投影、光照、光栅化等图形显示过程所需的功能OpenGL的组成•OpenGL实用库–实用函数43个–函数以glu开头–例:gluPers pectiv e();–完成更高层的图形处理如曲线曲面的生成、图象操作等•OpenGL辅助库–包括函数31个–函数以aux开头–例:auxInit Window();–主要用于窗口管理–OpenGL(Open Graphic s Library)是图形硬件的一个软件接口,也是该领域的工业标准。
图形程序员利用这些指令可以创建高质量的交互式的三维应用。
OpenGL的前身是SGI(Silicon Graphic s)公司为其图形工作站开发的I RIS GL。
IRIS GL虽然功能强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了Open GL。
OpenGL是一个与硬件无关的软件接口。
可以在不同的平台如Wind ows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。
因此,支持OpenG L 的软件具有很好的移植性,可以获得非常广泛的应用。
OpenGL是网络透明的,具有网络功能。
即便客户机和服务器是不同类型的计算机O penGL程序也可以在网络上运行。
这一点对于制作大型3D图形、动画非常有用。
例如,《玩具总动员》、《泰坦尼克》等电影的电脑特技画面就是通过应用Ope nGL的网络功能,使用120多台图形工作站共同工作来完成的。
OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。
OpenGL编程入门什么是OpenGL•是一个功能强大的图形库,用户可以很方便地开发所需要地有多种特殊视觉(如光照,纹理,透明,阴影)的三维图形。
•与软硬件平台无关的三维图形软件包,可运行于多种窗口系统之上•包含图元生成、投影、光照、光栅化等图形显示过程所需的功能OpenGL的组成•OpenGL实用库–实用函数43个–函数以glu开头–例:gluPerspective();–完成更高层的图形处理如曲线曲面的生成、图象操作等•OpenGL辅助库–包括函数31个–函数以aux开头–例:auxInitWindow();–主要用于窗口管理–OpenGL(Open Graphics Library)是图形硬件的一个软件接口,也是该领域的工业标准。
图形程序员利用这些指令可以创建高质量的交互式的三维应用。
OpenGL的前身是SGI(Silicon Graphics)公司为其图形工作站开发的IRIS GL。
IRIS GL虽然功能强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。
OpenGL是一个与硬件无关的软件接口。
可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。
因此,支持OpenGL 的软件具有很好的移植性,可以获得非常广泛的应用。
OpenGL是网络透明的,具有网络功能。
即便客户机和服务器是不同类型的计算机OpenGL程序也可以在网络上运行。
这一点对于制作大型3D图形、动画非常有用。
例如,《玩具总动员》、《泰坦尼克》等电影的电脑特技画面就是通过应用OpenGL的网络功能,使用120多台图形工作站共同工作来完成的。
OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。
随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户认知程度并不高,未来的OpenGL发展前景迷茫。
OpenGL编程轻松入门之特殊效果操作-Read————————————————————————————————作者:————————————————————————————————日期:OpenGL编程轻松入门之特殊效果操作每个物体在不同的环境在会有不同的视觉效果。
为了使效果更加真实需要增加特殊效果。
例8:绘制三个互相重叠的矩形,这三个矩形从左到右分别为绿、红、蓝。
其中红色、蓝色矩形的透明度分别为50%的透明度,即alpha值为0.5,如图九所示。
#include <stdlib.h>#include <GL/glut.h>void myInit(void){glClearColor(0.2,0.8,0.8,0.0);//将背景设置为湖蓝色glEnable(GL_BLEND);//激活GL_BLENDglBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);//指定像素的数学算法glEnable(GL_FLAT);}void myDisplay(void){glClear(GL_COLOR_BUFFER_BIT);/*绘制一个绿色的矩形alpha = 1.0*/glColor4f(0.0,1.0,0.0,1.0);glBegin(GL_POL YGON);glVertex3f(-0.75,0.5,0.0);glVertex3f(-0.75,-0.75,0.0);glVertex3f(0.5,-0.75,0.0);glVertex3f(0.5,0.5,0.0);glEnd();/*绘制一个红色的矩形alpha = 0.5*/glColor4f(1.0,0.0,0.0,0.5);glBegin(GL_POL YGON);glVertex3f(-0.25,1.0,0.0);glVertex3f(-0.25,-0.25,0.0);glVertex3f(1.0,-0.25,0.0);glVertex3f(1.0,1.0,0.0);glEnd();/*绘制一个蓝色的矩形alpha = 0.5*/glColor4f(0.0,0.0,1.0,0.5);glBegin(GL_POL YGON);glVertex3f(0.25,1.5,0.0);glVertex3f(0.25,0.25,0.0);glVertex3f(1.5,0.25,0.0);glVertex3f(1.5,1.5,0.0);glEnd();glFlush();}void myReshape(int w,int h){glViewport(0,0,w,h);glMatrixMode(GL_PROJECTION);glLoadIdentity();if(w<h)glOrtho(-1.5,1.5,-1.5*(GLfloat)h/(GLfloat)w,1.5*(GLfloat)h/(GLfloat)w,-1.5,1.5);elseglOrtho(-1.5*(GLfloat)w/(GLfloat)h,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5,-1.5,1.5);glMatrixMode(GL_MODELVIEW);glLoadIdentity();glTranslatef(-0.4,0.0,0.0);}int main(int argc,char ** argv){/*初始化*/glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);glutInitWindowSize(300,400);glutInitWindowPosition(200,200);/*创建窗口*/glutCreateWindow("BLEND POL YGON");/*绘制与显示*/myInit();glutReshapeFunc(myReshape);glutDisplayFunc(myDisplay);/*进入GLUT事件处理循环*/glutMainLoop();return(0);}图九:三个互相重叠的矩形·glBlendFunc(GLenum sfactor,GLenum dfactor)指定像素算法。
现代OpenGL教程 01——入门指南欢迎大家,这是现代OpenGL教程系列的第一篇。
所有代码都是开源的,你可以在GitHub上下载:https:///tomdalling/opengl-series 通过这篇教程,你将会学到如何在Windows下用Visual Studio 2013或Mac下用Xcode搭建OpenGL 3.2工程。
该应用包含一个顶点着色器(vertex shader),一个片段着色器(fragment shader)和使用VAO和VBO来绘制的三角形。
该工程使用GLEW来访问OpenGL API,用GLFW来处理窗口创建和输入,还有使用GLM进行矩阵/矢量相关的数学运算。
这听上去有点无聊,但搭建这样的工程确实挺麻烦的,尤其对于初学者。
只要解决完这问题,我们就可以开始玩些有趣的东西了。
[TOC]获取代码所有例子代码的zip打包可以从这里获取:https:///tomdalling/opengl-series/archive/master.zip。
这一系列文章中所使用的代码都存放在:https:///tomdalling/opengl-series。
你可以在页面中下载zip,加入你会git的话,也可以复制该仓库。
本文代码你可以在source/01_project_skeleton目录里找到。
使用OS X系统的,可以打开根目录里的opengl-series.xcodeproj,选择本文工程。
使用Windows系统的,可以在Visual Studio 2013里打开opengl-series.sln,选择相应工程。
工程里已包含所有依赖,所以你不需要再安装或者配置额外的东西。
如果有任何编译或运行上的问题,请联系我。
关于兼容性的提醒本文使用OpenGL 3.2,但我会尝试保持如下兼容:向后兼容OpenGL 2.1向前兼容OpenGL 3.X和4.X兼容Android和iOS的OpenGL ES 2.0因为OpenGL和GLSL存在许多不同版本,本文代码不一定能做到100%上述兼容。
OpenGL编程指南OPenGL编程指南 OPenGL编程指南<<隐藏窗体顶端窗体底端OpenGL 基础图形编程 - 总目录出处: [ 2001-09-20 ] 作者:中国游戏开发者总目录第一章 OpenGL 与三维图形世界 1.1 OpenGL 使人们进入三维图形世界 1.2 OpenGL 提供直观的三维图形开发环境 1.3 OpenGL 称为目前三维图形开发标准第二章 OpenGL 概念建立 2.1 OpenGL 基本理解 2.2 OpenGL 工作流程 2.3 OpenGL 图形操作步骤第三章 Windows NT 环境下的 OpenGL 3.1 Windows NT 下的 OpenGL 函数 3.2 OpenGL 基本功能 3.3 Windows NT 下 OpenGL 结构基本程序结构第四章 OpenGL 基本程序结构第五章 OpenGL 数据类型和函数名第六章 OpenGL 辅助库的基本使用 6.1 辅助库函数分类 6.2 辅助库应用示例第七章 OpenGL 建模 7.1 描述图元 7.1.1 齐次坐标 7.1.2 点 7.1.3 线 7.1.4 多边形 7.2 绘制图元 7.2.1 定义顶点 7.2.2 构造几何图元第八章 OpenGL 变换 8.1 从三维空间到二维平面 8.1.1 相机模拟 8.1.2 三维图形显示流程 8.1.3 基本变换简单分析 8.2 几何变换8.2.1 两个矩阵函数解释 8.2.2 平移 8.2.3 旋转 8.2.4 缩放和反射 8.2.5 几何变换举例8.3 投影变换 8.3.1 正射投影 8.3.2 透视投影 8.4 裁剪变换 8.5 视口变换 8.6 堆栈操作第九章 OpenGL 颜色 9.1 计算机颜色 9.1.1 颜色生成原理 9.1.2 RGB 色立体 9.2 颜色模式 9.2.1 RGBA 模式 9.2.2 颜色表模式 9.2.3 两种模式应用场合 9.3 颜色应用举例第十章 OpenGL 光照 10.1 真实感图形基本概念 10.2 光照模型 10.2.1 简单光照模型10.2.2 OpenGL 光组成 10.2.3 创建光源 10.2.4 启动光照 10.3 明暗处理 10.4 材质10.4.1 材质颜色 10.4.2 材质定义 10.4.3 材质 RGB 值和光源 RGB 值的关系 10.4.4 材质改变第十一章 OpenGL 位图和图像 11.1 位图 11.1.1 位图和字符 11.1.2 当前光栅位置 11.1.3 位图显示 11.2 图像 11.2.1 象素读写 11.2.2 象素拷贝 11.2.3 图像缩放11.2.4 图像例程第十二章 OpenGL 纹理 12.1 基本步骤 12.2 纹理定义 12.3 纹理控制12.3.1 滤波 12.3.2 重复与约简 12.4 映射方式 12.5 纹理坐标 12.5.1 坐标定义 12.5.2 坐标自动产生第十三章 OpenGL 复杂物体建模 13.1 图元扩展 13.1.1 点和线 13.1.2 多边形 13.2 法向计算 13.2.1 法向基本计算方法 13.2.2 法向定义 13.3 曲线生成 13.3.1 曲线绘制举例 13.3.2 曲线定义和启动 13.3.3 曲线坐标计算 13.3.4 定义均匀间隔曲线坐标值 13.4 曲面构造 13.4.1 曲面定义和坐标计算 13.4.2 定义均匀间隔的曲面坐标值13.4.3 纹理曲面 13.4.4 NURBS 曲面第十四章 OpenGL 特殊光处理 14.1 光照模型14.1.1 全局环境光 14.1.2 近视点与无穷远视点 14.1.3 双面光照 14.2 光源位置与衰减14.3 聚光与多光源 14.3.1 聚光 14.3.2 多光源与例程 14.4 光源位置与方向的控制 14.5 辐射光第十五章 OpenGL 效果处理 15.1 融合 15.1.1 Alpha 值与融合 15.1.2 融合因子15.1.3 融合实例 15.2 反走样 15.2.1 行为控制函数 15.2.2 点和线的反走样 15.2.3 多边形的反走样 15.3 雾 15.3.1 雾的概论和例程 15.3.2 雾化步骤第十六章 OpenGL 显示列表 16.1 显示列表概论 16.1.1 显示列表的优势 16.1.2 显示列表的适用场合 16.2 创建和执行显示列表 16.2.1 创建显示列表 16.2.2 执行显示列表 16.3 管理显示列表 16.4 多级显示列表第十七章 OpenGL 帧缓存和动画 17.1 帧缓存 17.1.1 帧缓存组成 17.1.2 缓存清除 17.2 动画【下页】【打印】【关闭】 [ 字号字号:大·中·小 ] OpenGL 基础图形编程 OpenGL 与 3D 图形世界 [ 2001-09-20 ] 作者:出处:中国游戏开发者目录 1.1 OpenGL 使人们进入三维图形世界 1.2 OpenGL 提供直观的三维图形开发环境 1.3 OpenGL 成为目前三维图形开发标准 1.1、 1.1、OpenGL 使人们进入三维图形世界我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体。
OpenGL基础图形编程- 总目录出处:中国游戏开发者[ 2001-09-20 ]作者:总目录第一章OpenGL与三维图形世界1.1 OpenGL使人们进入三维图形世界1.2 OpenGL提供直观的三维图形开发环境1.3 OpenGL称为目前三维图形开发标准第二章OpenGL概念建立2.1 OpenGL基本理解2.2 OpenGL工作流程2.3 OpenGL图形操作步骤第三章Windows NT环境下的OpenGL3.1 Windows NT下的OpenGL函数3.2 OpenGL基本功能3.3 Windows NT下OpenGL结构第四章OpenGL基本程序结构第五章OpenGL数据类型和函数名第六章OpenGL辅助库的基本使用6.1 辅助库函数分类6.2 辅助库应用示例第七章OpenGL建模7.1 描述图元7.1.1 齐次坐标7.1.2 点7.1.3 线7.1.4 多边形7.2 绘制图元7.2.1 定义顶点7.2.2 构造几何图元第八章OpenGL变换8.1 从三维空间到二维平面8.1.1 相机模拟8.1.2 三维图形显示流程8.1.3 基本变换简单分析8.2 几何变换8.2.1 两个矩阵函数解释8.2.2 平移8.2.3 旋转8.2.4 缩放和反射8.2.5 几何变换举例8.3 投影变换8.3.1 正射投影8.3.2 透视投影8.4 裁剪变换8.5 视口变换8.6 堆栈操作第九章OpenGL颜色9.1 计算机颜色9.1.1 颜色生成原理9.1.2 RGB色立体9.2 颜色模式9.2.1 RGBA模式9.2.2 颜色表模式9.2.3 两种模式应用场合9.3 颜色应用举例第十章OpenGL光照10.1 真实感图形基本概念10.2 光照模型10.2.1 简单光照模型10.2.2 OpenGL光组成10.2.3 创建光源10.2.4 启动光照10.3 明暗处理10.4 材质10.4.1 材质颜色10.4.2 材质定义10.4.3 材质RGB值和光源RGB值的关系10.4.4 材质改变第十一章OpenGL位图和图像11.1 位图11.1.1 位图和字符11.1.2 当前光栅位置11.1.3 位图显示11.2 图像11.2.1 象素读写11.2.2 象素拷贝11.2.3 图像缩放11.2.4 图像例程第十二章OpenGL纹理12.1 基本步骤12.2 纹理定义12.3 纹理控制12.3.1 滤波12.3.2 重复与约简12.4 映射方式12.5 纹理坐标12.5.1 坐标定义12.5.2 坐标自动产生第十三章OpenGL复杂物体建模13.1 图元扩展13.1.1 点和线13.1.2 多边形13.2 法向计算13.2.1 法向基本计算方法13.2.2 法向定义13.3 曲线生成13.3.1 曲线绘制举例13.3.2 曲线定义和启动13.3.3 曲线坐标计算13.3.4 定义均匀间隔曲线坐标值13.4 曲面构造13.4.1 曲面定义和坐标计算13.4.2 定义均匀间隔的曲面坐标值13.4.3 纹理曲面13.4.4 NURBS曲面第十四章OpenGL特殊光处理14.1 光照模型14.1.1 全局环境光14.1.2 近视点与无穷远视点14.1.3 双面光照14.2 光源位置与衰减14.3 聚光与多光源14.3.1 聚光14.3.2 多光源与例程14.4 光源位置与方向的控制14.5 辐射光第十五章OpenGL效果处理15.1 融合15.1.1 Alpha值与融合15.1.2 融合因子15.1.3 融合实例15.2 反走样15.2.1 行为控制函数15.2.2 点和线的反走样15.2.3 多边形的反走样15.3 雾15.3.1 雾的概论和例程15.3.2 雾化步骤第十六章OpenGL显示列表16.1 显示列表概论16.1.1 显示列表的优势16.1.2 显示列表的适用场合16.2 创建和执行显示列表16.2.1 创建显示列表16.2.2 执行显示列表16.3 管理显示列表16.4 多级显示列表第十七章OpenGL帧缓存和动画17.1 帧缓存17.1.1 帧缓存组成17.1.2 缓存清除17.2 动画【下页】【打印】【关闭】[ 字号:大·中·小]OpenGL基础图形编程- OpenGL与3D图形世界出处:中国游戏开发者[ 2001-09-20 ]作者:目录1.1 OpenGL使人们进入三维图形世界1.2 OpenGL提供直观的三维图形开发环境1.3 OpenGL成为目前三维图形开发标准1.1、OpenGL使人们进入三维图形世界我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体。
我们又生活在一个充满信息的世界中,能否尽快地理解并运用这些信息将直接影响事业的成败,所以我们需要用一种最直接的形式来表示这些信息。
最近几年计算机图形学的发展使得三维表现技术得以形成,这些三维表现技术使我们能够再现三维世界中的物体,能够用三维形体来表示复杂的信息,这种技术就是可视化(Visualization)技术。
可视化技术使人能够在三维图形世界中直接对具有形体的信息进行操作,和计算机直接交流。
这种技术已经把人和机器的力量以一种直觉而自然的方式加以统一,这种革命性的变化无疑将极大地提高人们的工作效率。
可视化技术赋予人们一种仿真的、三维的并且具有实时交互的能力,这样人们可以在三维图形世界中用以前不可想象的手段来获取信息或发挥自己创造性的思维。
机械工程师可以从二维平面图中得以解放直接进入三维世界,从而很快得到自己设计的三维机械零件模型。
医生可以从病人的三维扫描图象分析病人的病灶。
军事指挥员可以面对用三维图形技术生成的战场地形,指挥具有真实感的三维飞机、军舰、坦克向目标开进并分析战斗方案的效果。
更令人惊奇的是目前正在发展的虚拟现实技术,它能使人们进入一个三维的、多媒体的虚拟世界,人们可以游历远古时代的城堡,也可以遨游浩翰的太空。
所有这些都依赖于计算机图形学、计算机可视化技术的发展。
人们对计算机可视化技术的研究已经历了一个很长的历程,而且形成了许多可视化工具,其中SGI公司推出的GL三维图形库表现突出,易于使用而且功能强大。
利用GL开发出来的三维应用软件颇受许多专业技术人员的喜爱,这些三维应用软件已涉及建筑、产品设计、医学、地球科学、流体力学等领域。
随着计算机技术的继续发展,GL已经进一步发展成为OpenGL,OpenGL已被认为是高性能图形和交互式视景处理的标准,目前包括ATT公司UNIX软件实验室、IBM公司、DEC公司、SUN公司、HP公司、Microsoft公司和SGI公司在内的几家在计算机市场占领导地位的大公司都采用了OpenGL 图形标准。
值得一提的是,由于Microsoft公司在Windows NT中提供OpenGL图形标准,OpenGL 将在微机中广泛应用,尤其是OpenGL三维图形加速卡和微机图形工作站的推出,人们可以在微机上实现三维图形应用,如CAD设计、仿真模拟、三维游戏等,从而更有机会、更方便地使用OpenGL及其应用软件来建立自己的三维图形世界。
1.2、OpenGL提供直观的三维图形开发环境OpenGL实际上是一种图形与硬件的接口。
它包括了120个图形函数,开发者可以用这些函数来建立三维模型和进行三维实时交互。
与其他图形程序设计接口不同,OpenGL提供了十分清晰明了的图形函数,因此初学的程序设计员也能利用OpenGL的图形处理能力和1670万种色彩的调色板很快地设计出三维图形以及三维交互软件。
OpenGL强有力的图形函数不要求开发者把三维物体模型的数据写成固定的数据格式,这样开发者不但可以直接使用自己的数据,而且可以利用其他不同格式的数据源。
这种灵活性极大地节省了开发者的时间,提高了软件开发效益。
长期以来,从事三维图形开发的技术人员都不得不在自己的程序中编写矩阵变换、外部设备访问等函数,这样为调制这些与自己的软件开发目标关系并不十分密切的函数费脑筋,而OpenGL正是提供一种直观的编程环境,它提供的一系列函数大大地简化了三维图形程序。
例如:* OpenGL提供一系列的三维图形单元供开发者调用。
* OpenGL提供一系列的图形变换函数。
* OpenGL提供一系列的外部设备访问函数,使开发者可以方便地访问鼠标、键盘、空间球、数据手套等这种直观的三维图形开发环境体现了OpenGL的技术优势,这也是许多三维图形开发者热衷于OpenGL的缘由所在。
1.3、OpenGL成为目前三维图形开发标准OpenGL成为目前三维图形开发标准在计算机发展初期,人们就开始从事计算机图形的开发。
直到计算机硬软件和计算机图形学高度发达的九十年代,人们发现复杂的数据以视觉的形式表现时是最易理解的,因而三维图形得以迅猛发展,于是各种三维图形工具软件包相继推出,如PHIGS、PEX、RenderMan等。
这些三维图形工具软件包有些侧重于使用方便,有些侧重于渲染效果或与应用软件的连接,但没有一种三维工具软件包在交互式三维图形建模能力、外部设备管理以及编程方便程度上能够OpenGL相比拟。
OpenGL经过对GL的进一步发展,实现二维和三维的高级图形技术,在性能上表现得异常优越,它包括建模、变换、光线处理、色彩处理、动画以及更先进的能力,如纹理影射、物体运动模糊等。
OpenGL的这些能力为实现逼真的三维渲染效果、建立交互的三维景观提供了优秀的软件工具。
OpenGL在硬件、窗口、操作系统方面是相互独立的。
许多计算机公司已经把OpenGL集成到各种窗口和操作系统中,其中操作系统包括UNIX、Windows NT、DOS等,窗口系统有X窗口、Windows等。
为了实现一个完整功能的图形处理系统,设计一个与OpenGL相关的系统结构为:其最底层是图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenGL,第五层为应用软件。
OpenGL是网络透明的,在客户—服务器(Client-Server)体系结构中,OpenGL允许本地和远程绘图。
所以在网络系统中,OpenGL在X窗口、Windows或其它窗口系统下都可以以一个独立的图形窗口出现。
OpenGL作为一个性能优越的图形应用程序设计界面(API)而适合于广泛的计算环境,从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。
由于许多在计算机界具有领导地位的计算机公司纷纷采用OpenGL作为三维图形应用程序设计界面,OpenGL应用程序具有广泛的移植性。
因此,OpenGL已成为目前的三维图形开发标准,是从事三维图形开发工作的技术人员所必须掌握的开发工具。
【上页】【下页】【打印】【关闭】页首·目录·报错·后退[ 字号:大·中·小]OpenGL基础图形编程- OpenGL概念建立出处:中国游戏开发者[ 2001-09-21 ]作者:目录2.1 OpenGL基本理解2.2 OpenGL工作流程2.3 OpenGL图形操作步骤2.1、OpenGL基本理解OpenGL是一个与硬件图形发生器的软件接口,它包括了100多个图形操作函数,开发者可以利用这些函数来构造景物模型、进行三维图形交互软件的开发。