OpenGL 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
OpenGL 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 未知
开发语言 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)

加载中
我就想知道怎么下载
2018/04/14 21:18
回复
举报
opengl读取jpg并绘制 OpenGL
2012/09/21 23:47
回复
举报
鼠标选取移动物体 OpenGL
2013/04/27 13:40
回复
举报
更多评论
发表了资讯
2017/08/03 08:05

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

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

4
17
发表了资讯
2016/01/22 00:00

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

Vulkan似乎会成为开放标准图形领域的未来,而Valve毫不怀疑地上了这艘船。作为一个行业协会,Khronos Group由AMD、英特尔、苹果、高通、索尼、谷歌、Adobe、亚马逊、Pixar、Valve、以及微软等企业所支持。此外,它还负责着 OpenGL。虽然并未止步,但近几年已经明显地拖了行业的后腿(大幅落后于微软的DirectX)。 有趣的...

13
32
发表了资讯
2015/08/13 00:00

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

Khronos 团队专注于创立开放标准,和免费授权的移动接口程序API。这个团队成立于2000年,曾开发出得到业界广泛认可OpenGL。在几个月前,Khronos就开始准备新世代开源API的事宜,这就是Vulkan。 而近日Imagination Technologies也公布了一段视频,让大家直观地感受到最新的Vulkan API和OpenGL(版本为OpenGL® ES 3.0)差...

20
27
发表了资讯
2014/08/13 00:00

OpenGL 4.5 发布,开源图形 API

Khronos Group 发布了 OpenGL 4.5 规范。OpenGL 4.5 的最主要特性是Direct State Access(DSA),简化对纹理、着色器程序等对象属性的设置和查询,更好的控制发送到硬件的命令的窒息。 DSA 多年来一直作为扩展提供给开发者,现在首次成为正式规范的一部分。AMD的Mantle和微软的 Direct3D 12都能利用图形硬件增强性能,K...

9
13
发表了资讯
2013/05/23 00:00

英特尔开源Linux OpenGL驱动快于苹果OS X驱动

英特尔的开源Linux OpenGL驱动已经比苹果自己开发的OS X OpenGL驱动更快。Phoronix在硬件规格基本相同的 Mac Mini(双核Intel Core i5,2GB内存,OS X 10.8.3)和运行Ubuntu 13.04的PC(四核Intel Core i5 2415M,2GB内存)上测试了英特尔集成显卡 HD 3000的跨平台 OpenGL 性能。 结果显示,开源Linux OpenGL驱动比苹果快...

29
10
发表了资讯
2011/08/09 00:00

Khronos 发布 OpenGL 4.2 规范

Khronos™ 公司今日宣布了 OpenGL® 4.2 规范的发布,带来了最新的图形功能,最高级的、广泛采用的跨平台-2D和3D图形API。OpenGL 4.2 整合了开发者的反馈,继续创新的同时保持了向后兼容性。 OpenGL 4.2 规范由OpenGL ARB (Architecture Review Board) 工作组(Khronos)定义,包括GLSL 4.20 更新到OpenGL Shading Lang...

3
1
发表了资讯
2011/01/26 00:00

AMD专业驱动更新 全平台支持OpenGL 4.1

AMD今天宣布,旗下的FirePro、FireGL、Radeon HD新款显卡都已经提供对OpenGL 4.1标准规范的支持,操作系统横跨Windows 7、Windows Vista、Windows XP、Linux。 FirePro V9800/V8800/V7800/V5800/V4800/V3800等工作站专业显卡安装最新发布的8.801 Beta测试版驱动就能完全支持OpenGL 4.1,Radeon HD 6900/6800系列则搭配去...

0
0
发表了资讯
2010/08/02 00:00

OpenGL 4.1 功能规格最终版本已定

OpenGL 4.1 功能规格最终版本已定 专注于处理移动设备上的3D图形的新功能规格 Khronos 团队公布,OpenGL 4.1 功能规格最终定义已经完成,其发行将很快可用。新的API规格完全向下兼容,并加入了一些诸如更高几何精度的64位浮点组件着色输入,以及着色程序对象查询与载入位元的能力等新特性。 但此款免费软件此次最大的改进...

0
1
发表了资讯
2010/07/27 00:00

OpenGL ARB 推出 OpenGL 4.1 规范

OpenGL ARB 推出了 OpenGL 4.1 规格。OpenGL 4.1 核心规格的主要新功能包括: 强化和 OpenGL ES 2.0 的相容性,将之前 OpenGL ES 2.0 中包含,但 OpenGL 4.0 中没有的功能加入 OpenGL 4.1 中(GL_ARB_ES2_compatibility)。 提供取得以及设定 OpenGL 程式物件的二进位格式的功能(GL_ARB_set_program_binary)。 提高最低支持的...

0
0
发表了资讯
2010/03/12 00:00

OpenGL 4.0 发布

OpenGL 背后的组织——Khronos集团今天发布了第四代的 OpenGL 跨平台的图像API规范,用来对抗实力强大的微软公司的 DirectX 11 。 OpenGL 4.0 主要的新功能包括: 新的着色阶段,可以由GPU进行几何嵌饰(tessellation),减轻CPU负担 每采样片段着色器,及可编程的片段着色器输入位置,提升了渲染质量和保真灵活性 可以绘...

2
1
发表了资讯
2010/01/10 00:00

为什么说开发者应用OpenGL而不是DirectX

独立游戏开发商Wolfire在一篇文章中解释了他们为什么选择OpenGL而不是DirectX开发游戏的原因。文章认为微软的市场策略让DirectX API几乎变成了游戏开发的代名词,Wolfire认为开发者应选择OpenGL而不是DirectX。 文章称: 1997年的情况和现在十分类似,微软为Direct3D发动了大规模的市场宣传,很快每个人都“想当然”的认...

0
3
发表了资讯
2009/08/04 00:00

OpenGL 3.2 发布

Khronos宣布发布OpenGL 3.2, 这是12个月内第三次更新。新版增强了性能,改进了画面质量,加速几何处理,简化Direct3D程序的可移植性。此外还支持了面向并行计算的 OpenCL、面向移动3D图像的OpenGL ES,3D Web的WebGL等更多标准。Khronos称兼容OpenGL 3.2的显卡数量超过了1.5亿。 文档下载: OpenGL 3.2 Coer Profile(P...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2014/03/18 13:44

opengl

OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。 本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。 OpenGL作为当前主流的图形API之一,它在一些场合...

0
1
2014/03/18 13:46

opengl

OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。 本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。 OpenGL作为当前主流的图形API之一,它在一些场合...

0
1
发表于多媒体处理专区
2014/10/22 19:54

OpenGL学习(一)OpenGL的安装

一. OpenGL的安装 我使用的系统为LinuxMint 17 Cinnamon发行版,默认不带OpenGL。 安装指令有三步:     sudo apt-get install libgl1-mesa-dev     sudo apt-get install libglu1-mesa-dev     sudo apt-get install freeglut3-dev 安装好后所有的头文件都在/usr/include/GL文件夹下。其它系统如何...

0
1
发表了博客
2019/07/25 17:35

OpenGL ES: (5) OpenGL的基本概念、OpenGL ES 在屏幕产生图片的过程、OpenGL管线(pipeline)

一. OpenGL的基本概念 OpenGL 的结构可以从逻辑上划分为下面 3 个部分: 图元(Primitives) 缓冲区(Buffers) 光栅化(Rasterize) 图元(Primitives) 在 OpenGL 的世界里,我们只能画点、线、三角形这三种基本图形,而其它复杂的图形都可以通过三角形来组成。所以这里的图元指的就是这三种基础图形: 点:点存在于三...

0
0
发表了博客
2018/03/01 21:26

OpenGL学习随笔(二)-- 什么是OpenGL

一、简介 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。 OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了glBegin/glEnd,四边形(G...

0
1
发表了博客
2014/09/26 12:43

理解OpenGL拾取模式(OpenGL Picking)

在用OpenGL进行图形编程的时候,通常要用鼠标进行交互操作,比如用鼠标点选择画面中的物体,我们称之为拾取(Picking),在网上看了很多OpenGL拾取的文章,但大多是只是介绍在OpenGL中如何拾取,如何利用OpenGL提供的一系列函数来完成拾取,最多再简单介绍下OpenGL的名字栈(Name stack),拾取矩阵(Picking Matrix)等等,但...

0
1
发表于多媒体处理专区
2014/03/05 14:36

浅谈OpenGL

OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。 1、与C语言紧密结合。 OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。 2、强大的可移植性。 微软的Direct3...

2
4
发表了博客
2019/04/10 10:10

用OpenGL画线

. 两点之间的连线称之为线段,在屏幕上显示线段放在现在已经不是稀奇的事情,大多数高级图形API都可以轻松实现,我尝试用OpenGL画线,在这里记录一下收获. . OpenGL这个级别的图形API,通常会提供一些绘制基本图形的接口,这些基本图形称之为图元,而OpenGL提供了点,线段,三角形三种图元...

0
0
发表了博客
2014/03/26 15:26

opengl

1.先说下几条用visual studio2010的一点小妙招: 去除控制台窗口显示:Property->Linker->System->SubSystem->Windows (/SUBSYSTEM:WINDOWS); Property->Linker->Command Line->Additional Optional:/ENTRY:mainCRTStartup 在程序中写代码包含库文件:#pragma comment(lib,”glew32.lib”)...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2017/10/21 14:26

Genymotion 安装后提示 OPenGL 版本太旧

3
0
发表了问答
2015/12/20 11:10

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

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

1
0
发表了问答
2012/09/28 16:39

我想要实现OpenGL中的一些函数,请问有哪些资料可做参考

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

10
0
发表了问答
2016/09/01 17:55

opengl GLES3.0

写一个关于“OpenGL”的demo,运行后定义的东西没有显示出来,程序没有报错,根据LOGCAT显示就报了一下问题(在Anroid Studio上开发的), 请高人帮我指点一下? 01-06 23:23:47.401 5121-5146/com.example.lijiegu.myfirstopengl E/IMGSRV: PVR: Bytes : 512 1024 2048 4096 8192 16384 32768 65536 131072 01-06 23:23:4...

1
0
发表了问答
2017/02/04 15:00

求助,核显如何配置OpenGL

本人电脑为联想台式机。配置:CPU为双核双线程的E5400 频率2.7Hz ,没有独显,只有核显,型号为G31/G33。原来系统为xp系统,使用的是OpenGL1.0.然而重装了win 7系统后,OpenGL就无法正常使用了。在网上查说要驱动,但是核显又不支持驱动。现在想要再次弄出OpenGL,应该如何操作。且只要打开需要OpenGL的软件,就会有Ope...

3
0
发表了问答
2017/02/12 14:47

OpenGL(ES版)为什么用文件导入的数据进行三维绘制会失败?

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

1
0
发表了问答
2017/08/06 21:51

在Qt下如何使用OpenGL进行绘图?ps:不用Qt提供的OpenGL类

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

1
0
发表了问答
2013/04/11 14:28

GLsurfaceView问题

请问Adroid的GLsurfaceView能在xml中配置吗,还有GLsurfaceView在帮助文档上说它是继承View的,那怎么不能通过设置它的宽高属性来改变它在手机屏幕上的尺寸呢,我试过,不论怎么设置它的属性它依然还是占满全屏,求大神指点

1
0
发表了问答
2017/06/06 10:53

全屏游戏的时候,直接在屏幕上写字

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

2
0
发表了问答
2016/11/10 19:34

[求助]VS2013运行opengl程序报错

代码如下: #define __STDC_WANT_LIB_EXT1__ 1 #include <iostream> #include <cmath> // GLEW #include <GL/glew.h> #include <GL/glut.h> // GLFW #include <GLFW/glfw3.h> #pragma comment(lib, "glew32.lib") // Other Libs #include <SOIL.h> // GLM Mathematics #include <glm/glm.hpp> #include <glm/gtc/matri...

1
0
发表了问答
2016/11/07 15:17

如何根据同一平面四点标定摄像机?

已知世界坐标系上同一平面四点的三维坐标和这四点在图像上的横纵坐标,能否标定摄像机相对这一平面的坐标和角度?如何计算?

1
0
发表了问答
2016/07/15 18:19

QT上的OpenGL与原生的OpenGL的区别?

刚接触OpenGL,不是太清楚QT上的OpenGL跟原生的OpenGL之间的关系,想问下是不是QT里面的OpenGL能够实现所有的OpenGL里面的所有功能。我现在需要获取3D模型的投影图像库,希望哪位大神给解答下,我到现在都不是太清楚用什么方法?刚刚在网上看到OpenGL能够实现,不知道只用QT里面的OpenGL能不能实现,如果能够给我提供这方...

3
0
发表了问答
2016/05/14 11:31

devc++中的第一个OPENGL就出错

我文件-》新建-》工程-》multMedia-》OpenGL,直接编译老出错 $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)这地方老报错,一些配置的文件也下了啊,不知道为什么, 谁能帮我解释下吗

2
0
发表了问答
2012/04/18 22:16

OpenGL显示图像

请告诉一个除了glDrawPixels之外可以显示图像的openGL 函数或者方法. 我的图像数据是在内存中的.glDrawPixels可以画出, 但是颜色有点点不对. 而且据说比较慢, 我想用其它的.图像就是普通的RGB图像.

11
0
发表了问答
2011/09/06 08:28

OpenGL的小问题!

刚学OpenGL,当使用多重采样和颜色索引的时候,就会出现这种情况,我也到网上查了下,无果!!特来请教各位大神啊, 这里附上代码和问题的描述,劳驾各位呢!!! #include<stdio.h> #include<stdlib.h> #include<GL/glew.h> #include<GL/glut.h> static int bgtoggle=1; void Init() { GLint buf,sbuf; int i,j; ...

3
0
发表了问答
2011/08/27 22:04

OpenGL现在源码和链接库在哪里下啊?

官方网上找不到!有没有老兄直接给个链接啊?

4
0
发表了问答
2012/02/07 23:15

OpenGL显示图片

现在需要从视频流中取出图像,然后用openGL来显示出来,取出部分已经完成,现在我是直接用 glDrawPixels 来显示的,这个函数似乎性能不好. 现在考虑使用纹理,我将以下代码,放在GUI OnPaint消息处理函数下,似乎不能显示出图像来.请教问题出在哪里? glEnable(GL_TEXTURE_2D); glTexImage2D(GL_TEXTURE_2D,0,3,image_width,ima...

2
0
发表了问答
2010/05/08 16:40

谁有关于OpenGL中引入3Dmax人物模型的源代码?急求~

最近在做一个关于在C++中实现对3Dmax中的人物进行导入和控制的程序,可是,做了好几天,都没有头绪啊,不知道该怎么做,所以,请大家帮帮忙啊~~

5
0
发表了问答
2009/06/26 23:39

Android 使用 OpenGL 的示例代码

首先先看示例程序的执行结果如下图所示: Introduction: Lets quote wikipedia first: Quote: OpenGL ES (OpenGL for Embedded Systems) is a subset of the OpenGL 3D graphics API designed for embedded devices such as mobile phones, PDAs, and video game consoles. It is defined and promoted by the Khronos G...

5
2
发表了问答
2015/05/03 22:36

OpenCL是做什么的呢?OpenGL是API还是一套标准?

有人说OpenGL是一套标准,有不同的实现,那么API不是各语言通用的吗? OPenCL我看了几遍没看懂是做什么的,OpenCV是图型算法,OPenAL是音效API,那OpenCL又是什么呢?

2
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
3 评论
137 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部