开放图形技术规范 OpenGL

开放图形技术规范 OpenGL

未知
C/C++
跨平台
2009-07-01
红薯

OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域 中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强 大,调用方便的底层图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。

OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS/3DSMAX等3D图形设计软件制作的DXF和3DS模型文件转换成OpenGL的顶点数组。
在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互 的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。

OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其 中部分做出修改和完善。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面 市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶 点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。

OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3DLabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点 与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此 外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。

目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫。

内容来自百度百科 http://baike.baidu.com/view/9222.htm

加载中

评论(3)

六角螺纹
六角螺纹
我就想知道怎么下载
王一鸣鸣鸣鸣
王一鸣鸣鸣鸣
鼠标选取移动物体 OpenGL
冯海鸥
opengl读取jpg并绘制 OpenGL

开放图形技术规范 OpenGL 4.6 正式发布

OpenGL 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包...

2017/08/03 08:04

取代 OpenGL:Nvidia 携 Valve 共推 Vulkan 开发

Vulkan似乎会成为开放标准图形领域的未来,而Valve毫不怀疑地上了这艘船。作为一个行业协会,Khronos Group由AMD、英特尔、苹果、高通、索尼、谷歌、Adobe、亚马逊、Pixar、Valve、以及微软等...

2016/01/22 08:11

有视频有真相 Vulkan 运行效率优于 OpenGL

Khronos 团队专注于创立开放标准,和免费授权的移动接口程序API。这个团队成立于2000年,曾开发出得到业界广泛认可OpenGL。在几个月前,Khronos就开始准备新世代开源API的事宜,这就是Vulka...

2015/08/13 08:13

OpenGL 4.5 发布,开源图形 API

Khronos Group 发布了 OpenGL 4.5 规范。OpenGL 4.5 的最主要特性是Direct State Access(DSA),简化对纹理、着色器程序等对象属性的设置和查询,更好的控制发送到硬件的命令的窒息。 DSA ...

2014/08/13 06:43

没有更多内容

加载失败,请刷新页面

1
回答
OpenGL ES中如何用线框模式画图?

举例说明,是画一个三角形,只要留下三条边有颜色,不要填充色。期待效果图如下:注意,是ES,没有POLYGONMODE方法!

2015/12/20 11:10
10
回答
我想要实现OpenGL中的一些函数,请问有哪些资料可做参考

openGL开源实现的代码哪里有的下载

2012/09/28 16:39
1
回答
opengl GLES3.0

写一个关于“OpenGL”的demo,运行后定义的东西没有显示出来,程序没有报错,根据LOGCAT显示就报了一下问题(在Anroid Studio上开发的...

2016/09/01 17:55
3
回答
求助,核显如何配置OpenGL

本人电脑为联想台式机。配置:CPU为双核双线程的E5400 频率2.7Hz ,没有独显,只有核显,型号为G31/G33。原来系统为xp系统,使用的是Ope...

2017/02/04 15:00
1
回答
OpenGL(ES版)为什么用文件导入的数据进行三维绘制会失败?

同样两个数组,只不过一个是在程序语句中赋值的,一个是从文件导入数值的。已经用测试类确定了他们是相同的: 但是一个渲染的结果是这样的(正常版本) : 导入的...

2017/02/12 14:47
1
回答
在Qt下如何使用OpenGL进行绘图?ps:不用Qt提供的OpenGL类

如何在Qt下使用独立的OpenGL库在Qt控件上进行绘图?求指导

2017/08/06 21:51
1
回答
GLsurfaceView问题

请问Adroid的GLsurfaceView能在xml中配置吗,还有GLsurfaceView在帮助文档上说它是继承View的,那怎么不能通过设置它的宽高...

2013/04/11 14:28
2
回答
全屏游戏的时候,直接在屏幕上写字

类似与网吧计费软件,账户余额不足的时候在屏幕中央写字 用户玩lol等全屏游戏的时候不能够影响用户 如上效果图。我用c#做的,全屏游戏显示不出来。求大神赐教

2017/06/06 10:53
1
回答
[求助]VS2013运行opengl程序报错

代码如下: #define __STDC_WANT_LIB_EXT1__ 1 #include <iostream> #include <cmath> ...

2016/11/10 19:34

没有更多内容

加载失败,请刷新页面

初识OpenGL-ES

OpenGL-ES目标 在OpenGL基础上, 删繁就简 兼容OpenGL 适应嵌入式设备的特点, 如耗电量, Shader性能 确保图像输出质量 确立为开发标准 继承关系 OpenGL ES 1.0(1.1) - OpenGL 1.3(1.5) - 固定...

2013/09/30 18:25
395
0
光照模型与面绘制算法---OpenGL光照和表面绘制函数

OpenGL点光源函数 指定一个OpenGL光源位置和类型 指定OpenGL光源颜色 指定OpenGL光源的辐射强度衰减系数 OpenGL方向光源 OpenGL全局光照参数 OpenGL表面特性函数 OpenGL光照模型 OpenGL雾气效...

2018/11/15 18:14
49
0
纹理与表面细节添加方法---OpenGL纹理函数

OpenGL线纹理函数 OpenGL表面纹理函数 OpenGL体纹理函数 OpenGL纹理图案的颜色选项 OpenGL纹理映射选项 OpenGL纹理环绕 复制帧缓存中的OpenGL纹理图案 OpenGL纹理坐标数组 OpenGL纹理图案命名...

2018/11/15 23:37
53
0
glut glew区别

GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最...

2014/03/18 11:06
2.8K
0
【转载】OpenGL C#绘图环境配置

OpenGL简介 OpenGL作为一种图形学编程接口已经非常流行, 虽然在大型游戏方面DirectX有一定的市场占有率, 但由于OpenGL的开放性,可移植性等优点,OpenGL已经成了一种图形学方面的标准。 由...

2013/06/17 13:46
631
0
三维观察---OpenGL三维观察函数

OpenGL观察变换函数 OpenGL正交投影函数 OpenGL对称透视投影棱台 OpenGL通用透视投影函数 OpenGL视口与显示窗口

2018/11/06 22:31
19
0
ubuntu12.04下安装opengl

前言 OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。 OpenGL 让程式开发人员不需要考虑到各种显示卡底层运作是否相同的问题,硬...

2014/02/27 18:35
36
0
OpenGL ES 1.1 Tutorial

OpenGL ES 1.1 Tutorial Contents [hide] 1 Introduction 2 The Basics 3 Drawing Textured Quads 4 Conclusion Introduction Unfortunately, the OpenGL ES takes away many of the functio...

2012/10/18 11:40
124
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部