OPENGL是什么意思?。?/h3>OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家
世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通
用共享的开放式三维图形标准 。目前,包括Microsoft、SGI、IBM、DEC、SUN、
HP等大公司都采用了OpenGL做为三维图形标准 , 许多软件厂商也纷纷以OpenGL
为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image
和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软
件ProEngineer、GIS软ARC/INFO等等 。值得一提的是,随着Microsoft公司在
Windows NT和最新的Windows 95中提供了OpenGL标准及OpenGL三维图形加速卡
(如北京黎明电子技术公司的AGC-3D系列三维图形加速卡)的推出 , OpenGL将
在微机中有广泛地应用,同时也为广大用户提供了在微机上使用以前只能在高
性能图形工作站上运行的各种软件的机会 。
OpenGL实际上是一个开放的三维图形软件包,它独立于窗口系统和操作系统,
以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以
与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算
法的正确性和可靠性;OpenGL使用简便,效率高 。它具有七大功能:
1) 建模 OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提
供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面
(如Bezier、Nurbs等曲线或曲面)绘制函数 。
2) 变换 OpenGL图形库的变换包括基本变换和投影变换 。基本变换有平移、
旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透
视投影两种变换 。其变换方法与机器人运动学中的坐标变换方法完全一
致,有利于减少算法的运行时间,提高三维图形的显示速度 。
3) 颜色模式设置 OpenGL颜色模式有两种 , 即RGBA模式和颜色索引(Color Index) 。
4) 光照和材质设置 OpenGL光有辐射光(Emitted Light)、环境光
(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light) 。
材质是用光反射率来表示 。场景(Scene)中物体最终反映到人眼的颜色是光
的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色 。
5) 纹理映射(Texture Mapping) 利用OpenGL纹理映射功能可以十分逼真
地表达物体表面细节 。
6) 位图显示和图象增强 图象功能除了基本的拷贝和像素读写外 , 还提供
融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理 。
以上三条可是被仿真物更具真实感,增强图形显示的效果 。
7) 双缓存(Double Buffering)动画 双缓存即前台缓存和后台缓存,简而言
之,后台缓存计算场景、生成画面 , 前台缓存显示后台缓存已画好的画面 。
此外,利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等
特殊效果 。从而实现了消隐算法 。
OpenGL模式是什么东西啊
文章插图
OpenGL是一个跨语言、跨平台的应用程序编程接口(API) , 用于绘制二维和三维矢量图形 。该接口由近350个不同的函数调用组成,用于从简单的图形位绘制到复杂的三维场景 。OpenGL的有效实现是使用windows、一些UNIX平台和Mac操作系统中的图形加速硬件 。这些实现通常由显示设备制造商提供,并且非常依赖于制造商提供的硬件 。扩展资料:OpenGL规范由OpenGL架构评审委员会(ARB)维护 , 该委员会成立于1992年 。ARB由对创建统一的、普遍可用的API特别感兴趣的公司组成 。根据OpenGL的官方网站,2002年6月ARB的投票成员包括3dlabs、apple computer、ATI technologies、Dell computer、Evans&Sutherland;惠普、IBM、英特尔、Matrox、NVIDIA、SGI和Sun Microsystems,微软的创始成员之一,于2003年3月退出 。参考资料来源:百度百科-OpenGL
什么是OpenGL?都包括什么?有什么用?OpenGL是Sun公司开发的一套三维图形应用程序接口库 , 软件开发者借助OpenGL可以实现复杂的三维图形变换 。Win 98/2000/NT 4.0中有一个“三维管道”的屏幕保护程序,它就是调用OpenGL实现的 。一般认为 , OpenGL在三维图形变换方面要强于微软的DirectX , 但它没有包括一些游戏软件所需要的功能,所以一般只有科学计算软件、CAD软件使用OpenGL,而游戏绝大多数都使用DirectX来增强图形功能 。OpenGL最初是为Sun的工作站设计的,现在移植到了Windows上 。Win 98/2000/NT 4.0都包括了OpenGL库,只有你使用的是Win 95时才需要下载OpenGL库,下载地址为 http://download.microsoft.com/download/win95upg/info/1/W95/EN-US/Opengl95.exe 。
OpenGl是什么?【opengl】OpenGL三维图形标准是由AT&T公司UNIX软件实验室、IBM
、DEC、SUN、HP、Microsoft和SGI等多家公司在GL图形库标准的基础
上联合推出的开放式图形库 , 它使在微机上实现三维真实
感图形的生成与显示成为可能 。由于OpenGL是开放的图形标
准,用户原先在UNIX下开发的OpenGL图形软件很容易移植到微
机上的WindowsNT/95上 。笔者在VisualC++4.1(以下简称VC)集
成环境下,开发了基于OpenGL的三维真实感图形应用程序,现
介绍如下 。
微机上的OpenGL开发环境
基于OpenGL标准开发的应用程序必须运行于32位Windows
平台下,如WindowsNT或Windows95环境;而且运行时还需有动态
链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装WindowsNT时已
自动装载到C:\WINNT\SYSTEM32目录下(这里假定用户将WindowsNT
安装在C盘上);而对于使用Windows95平台的用户,则需手工将
两个动态库复制到Windows95目录的SYSTEM子目录中 。安装了
WindowsNT/95和VC4.1后,用户就具备了基于OpenGL开发三维图
形软件的基本条件 。
OpenGL程序设计的基本步骤
1.OpenGL在WindowsNT下的运行机制
OpenGL工作在客户机/服务器模式下,当客户方(即基
于OpenGL标准开发的应用程序)向服务器(OpenGL核心机制)发出
命令时,由服务器负责解释这些命令 。通常情况下,客户方
和服务器是运行在同一台微机上的 。由于OpenGL的运行机制
是客户机/服务器模式,这使得用户能够十分方便地在网
络环境下使用OpenGL , OpenGL在WindowsNT上的这种实现方式通常
称为网络透明性 。
OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中,
客户机中的所有OpenGL函数调用,都被传送到服务器上,由
WinSrv.DLL实现功能,再将经过处理的指令发送到Win32设备驱
动接口(DDI) , 从而实现在计算机屏幕上产生图像 。
若使用OpenGL图形加速卡,则上述机制中将添加两个
驱动器:OpenGL可装载客户模块(OpenGLICD)将安装在客户端;硬
件指定DDI将安装在服务器端,与WinDDI同一级别 。
2.OpenGL的库函数
开发基于OpenGL的应用程序,必须先了解OpenGL的库函
数 。OpenGL函数命令方式十分有规律,每个库函数均有前缀gl
、glu、aux,分别表示该函数属于OpenGL基本库、实用库或辅助
库 。WindowsNT下的OpenGL包含了100多个核心函数,均以gl作为前
缀,同时还支持另外四类函数:
OpenGL实用库函数:43个 , 以glu作为前缀;
OpenGL辅助库函数:31个,以aux作为前缀;
Windows专用库函数(WGL):6个,以wgl作为前缀;
Win32API函数(WGL):5个,无前缀 。
OpenGL的115个核心函数提供了最基本的功能,可以实
现三维建模、建立光照模型、反走样、纹理映射等;OpenGL实
用库函数在核心函数的上一层,这类函数提供了简单的调
用方法,其实质是调用核心函数,目的是减轻开发者的编程
工作量;OpenGL辅助库函数是一些特殊的函数,可以供初学者
熟悉OpenGL的编程机制,然而使用辅助库函数的应用程序只
能在Win32环境中使用,可移植性较差,所以开发者应尽量避
免使用辅助库函数;Windows专用库函数(WGL)主要针对WindowsNT
/95环境的OpenGL函数调用;Win32API函数用于处理像素存储格
式、双缓存等函数调用 。
3.VC环境下基于OpenGL的编程步骤
下面介绍在VC环境中建立基于Opeetting菜单选项,在Link栏的Lib输入域中
添加openg132.lib、glu32.lib,若需使用OpenGL的辅助库函数,则还
需添加glaux.lib 。
(3)选择View/ClassWizard菜单选项 , 打开MFC对话框,在
ClassName栏中选择CMyTestView类,进行以下操作:
选择WM_CREATE消息,鼠标单击EditCode,将OpenGL初始化代码
添加到OnCreate()函数中:
/*定义像素存储格式*/
PIXELFORMATDESCRIPTORpfd=
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL,
PFD_TYPE_RGBA,
24 ,
0,0,0 , 0 , 0,0,
0,0,0 , 0,0,0,0
32,
0,0 ,
PFD_MAIN_PLANE,
0,
0,0,0,
}
CCLientdc(this);
intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd);
BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd);
m_hRC=wglCreateContext(dc.m_hDC);
选择WM_DESTORY消息,在OnDestory()中添加以下代码:
wglDeleteContext(m_hRC);
在MyTestView.cpp中 , 将以下代码添加到PreCreateWindows()函数中:
cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS;
OpenGL只对WS_CLIPCHILDREN|WS_CLIPSIBLINGS类型窗口有效;
在MyTestView.cpp中 , 将以下代码添加到OnDraw()函数中:
wglMakeCurrent(pDC->m_hDC,m_hRC);
DrawScene();//用户自定义函数,用于绘制三维场景;
wglMakeCurrent(pDC->m_hDC,NULL);
在MyTestView.cpp中 , 添加成员函数DrawScene():
voidCMyTestView::DrawScene()
{/*绘制三维场景*/}
(4)在MyTestView.h中包含以下头文件并添加类成员说明:
#include
#include
#include
在CTestView类中的protected:段中添加成员变量声明:
HGLRCm_hRC;
同时添加成员函数声明:
DrawScene();
这样,一个基于OpenGL标准的程序框架已经构造好,用
户只需在DrawScene()函数中添加程序代码即可 。
建立三维实体模型
三维实体建模是整个图形学的基?。筛弑普?
度的图像,首先要生成高质量的三维实体模型 。
OpenGL中提供了十几个生成三维实体模型的辅助库函
数 , 这些函数均以aux作为函数名的前缀 。简单的模型,如球
体、立方体、圆柱等可以使用这些辅助函数来实现,如
auxWireSphere(GLdoubleradius)(绘制一半径为radius的网状球体) 。
但是这些函数难以满足建立复杂三维实体的需要,所以用
户可以通过其它建模工具(如3DS等)来辅助建立三维实体模
型数据库 。笔者在三维实体的建模过程中采用3DS提供的2D
Shape、3DLofter和3DEditor进行模型的编辑,最后通过将模型数
据以DXF文件格式输出存储供应用程序使用 。
真实感图形的绘制
1.定义光照模型和材质
(1)光源 。OpenGL提供了一系列建立光照模型的库函
数,使用户可以十分方便地在三维场景中建立所需的光照
模型 。OpenGL中的光照模型由环境光(AmbientLight)、漫射光
(DiffuseLight)、镜面反射光(SpecularLight)等组成,同时还可设
置光线衰减因子来模拟真实的光源效果 。
例如,定义一个黄色光源如下:
GlfloatLight_position[]={1.0,1.0,1.0,0.0,};
GlfloatLight_diffuse[]={1.0,1.0,0.0,1.0,};
glLightfv(GL_LIGHT0,GL_POSTTION,light_position);//定义光源位置
glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);//定义光源漫射光
光源必须经过启动后才会影响三维场景中的实体,可以通过以下指令使光源有效:<
glEnable(LIGHTING);//启动光照模型;
glEnable(GL_LIGHT0);//使光源GL_LIGHT0有效;
OpenGL中一共可以定义GL_LIGHT0~GL_LIGHT7八个光源 。
(2)材质 。OpenGL中的材质是指构成三维实体的材料在
光照模型中对于红、绿、蓝三原色的反射率 。与光源的定义
类似,材质的定义分为环境、漫射、镜面反射成分,另外还
有镜面高光指数、辐射成分等 。通过对三维实体的材质定义
可以大大提高应用程序所绘制的三维场景的逼真程度 。例
如:
/*设置材质的反射成分*/
GLfloatmat_ambient[]={0.8,0.8,0.8,1.0};
GLfloatmat_diffuse[]={0.8,0.0,0.8,1.0};/*紫色*/
GLfloatmat_specular[]={1.0,0.0,1.0,1.0};/*镜面高光亮紫色*/
GLfloatmat_shiness[]={100.0};/*高光指数*/
glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);/*定义环境光反射率*/
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);/*定义漫射光反射率*/
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);/*定义镜面光反射率*/
glMaterialfv(GL_FRONT,GL_SHINESS,mat_shiness);/*定义高光指数*/
(3)材质RGB值与光源RGB值的关系 。OpenGL中材质的颜色
与光照模型中光源的颜色含义略有不同 。对于光源,R、G、B
值表示三原色在光源中所占有的比率;而对于材质定义 , R、
G、B的值表示具有这种材质属性的物体对于三原色的反射
比率,场景中物体所呈现的颜色与光照模型、材质定义都相
关 。例如,若定义的光源颜色是(Lr,Lg,Lb)=(1.0,1.0,1.0)(白光),
物体的材质颜色定义为(Mr,Mg,Mb)=(0.0,0.0,0.8),则最终到达人
眼的物体颜色应当是(Lr*Mr,Lg*Mg,Lb*Mb)=(0.0,0.0,0.8)(蓝色) 。
2.读取三维模型数据
为了绘制三维实体,我们首先必须将预先生成的三
维实体模型从三维实体模型库中读出 。下图描述了读取三
维实体模型的流程 。
3.三维实体绘制
由于3DS的DXF文件中对于三维实体的描述是采用三角
形面片逼近的方法,而在OpenGL函数库中,提供了绘制三角形
面片的方法,所以为三维实体的绘制提供了方便 。以下提供
了绘制三角形面片的方法:
glBegin(TRANGLES);//定义三角形绘制开始
glVertexf((GLfloat)x1,(GLfloat)y1,(GLfloat)z1);//第一个顶点
glVertexf((GLfloat)x2,(GLfloat)y2,(GLfloat)z2);//第二个顶点
glVertexf((GLfloat)x3,(GLfloat)y3,(GLfloat)z3);//第三个顶点
glEnd();//绘制结束
为了提高三维实时动画的显示速度,我们利用了
OpenGL库中的显示列表(DisplayList)的功能,将三维场景中的实
体分别定义为单独的显示列表,预先生成三维实体 。在图形
显示时,只需调用所需的显示列表即可显示相应的三维实
体,而不需要重新计算实体在场景中的坐标 , 避免了大量的
浮点运算 。在调用显示列表前所作的旋转、平移、光照、材
质的设定都将影响显示列表中的三维实体的显示效果 。具
体实现算法如下:
for(ObjectNo=0;ObjectNo<实体个数;ObjectNo++)
{
glNewList(ObjectNo,GL_COMPILE);//创建第ObjectNo个实体的显示列表
for(Fac
OpenGL是近几年发展起来的一个性能卓越的三维图形标准 , 它是在SGI等多家
世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通
用共享的开放式三维图形标准 。目前 , 包括Microsoft、SGI、IBM、DEC、SUN、
HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL
为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image
和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软
件ProEngineer、GIS软ARC/INFO等等 。值得一提的是,随着Microsoft公司在
Windows NT和最新的Windows 95中提供了OpenGL标准及OpenGL三维图形加速卡
(如北京黎明电子技术公司的AGC-3D系列三维图形加速卡)的推出,OpenGL将
在微机中有广泛地应用,同时也为广大用户提供了在微机上使用以前只能在高
性能图形工作站上运行的各种软件的机会 。
OpenGL实际上是一个开放的三维图形软件包,它独立于窗口系统和操作系统,
以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以
与Visual C++紧密接口 , 便于实现机械手的有关计算和图形算法,可保证算
法的正确性和可靠性;OpenGL使用简便 , 效率高 。它具有七大功能:
1) 建模 OpenGL图形库除了提供基本的点、线、多边形的绘制函数外 , 还提
供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面
(如Bezier、Nurbs等曲线或曲面)绘制函数 。
2) 变换 OpenGL图形库的变换包括基本变换和投影变换 。基本变换有平移、
旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透
视投影两种变换 。其变换方法与机器人运动学中的坐标变换方法完全一
致,有利于减少算法的运行时间,提高三维图形的显示速度 。
3) 颜色模式设置 OpenGL颜色模式有两种 , 即RGBA模式和颜色索引(Color Index) 。
4) 光照和材质设置 OpenGL光有辐射光(Emitted Light)、环境光
(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light) 。
材质是用光反射率来表示 。场景(Scene)中物体最终反映到人眼的颜色是光
的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色 。
5) 纹理映射(Texture Mapping) 利用OpenGL纹理映射功能可以十分逼真
地表达物体表面细节 。
6) 位图显示和图象增强 图象功能除了基本的拷贝和像素读写外,还提供
融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理 。
以上三条可是被仿真物更具真实感,增强图形显示的效果 。
7) 双缓存(Double Buffering)动画 双缓存即前台缓存和后台缓存,简而言
之 , 后台缓存计算场景、生成画面 , 前台缓存显示后台缓存已画好的画面 。
此外 , 利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等
特殊效果 。从而实现了消隐算法 。
OpenGL是什么意思??????/OpenGL是OpenGraphicsLib的缩写,是一套三维图形处理库,也是该领域的工业标准 。计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术 。
OpenGL就是支持这种转换的程序库,它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL 。SGI在1992年7月发布1.0版,后成为工业标准,由成立于1992年的独立财团OpenGL Architecture Review Board (ARB)控制 。SGI等ARB成员以投票方式产生标准,并制成规范文档(Specification)公布,各软硬件厂商据此开发自己系统上的实现 。只有通过了ARB规范全部测试的实现才能称为OpenGL 。1995年12月ARB批准了1.1版本 , 最新版规范是1999.5通过的1.2.1 。
OpenGL被设计成独立于硬件 , 独立于窗口系统的,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库 。它低端应用上的主要竞争对手是MS-Direct3D,该图形库是以COM接口形式提供的,所以极为较复杂,稳定性差 , 另外微软公司拥有该库版权,目前只在Windows平台上可用 。D3D的优势在速度上 , 但现在低价显卡都能提供很好的OpenGL硬件加速,所以做3D使用Direct3D已没有特别的必要,在专业图形处理特别是高端应用方面目前还没有出现以Direct3D技术为基础的例子 , 而游戏等低端应用也有转向OpenGL的趋势 。
微软在Windows NT对OpenGL的支持始于3.51,在Windows9x中的支持始于Win95 OEM Service Release 2 。Windows下常用的OpenGL库有两种,MS实现的和SGI实现的,MS-OpenGL调用会自动检测是否存在显示卡制造商提供的ICD (Installable Client DeviceDriver)驱动程序,有则调用ICD中的例程,否则才用CPU进行计算,所以能利用显示卡的OpenGL加速能力 。对开发者来说使用方法并没有区别,只是有ICD驱动时更快些 。SGI的版本是纯软件实现不能利用硬件加速并且SGI已经在1999年宣布停止支持,但这套库便于调试程序 , 仍有不少开发者使用 。
opengl是什么意思?OpenGL是个专业的3D程序接口 , 是一个功能强大,调用方便的底层3D图形库 。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是3D图形的底层图形库 , 没有提供几何实体图元,不能直接用以描述场景 。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组 。
OPENGL是什么意思OpenGL ES (OpenGL for Embedded Systems)是OpenGL三维图形 API 的子集,针对手机、和游戏主机等而设计 。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准 。
OpenGL ES 是从OpenGL裁剪的定制而来,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性 。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件 。OpenGL ES 1.0 是以OpenGL 1.3 规范为基础的,OpenGL ES 1.1是以OpenGL 1.5规范为基础的 , 它们分别又支持common和common lite两种profile 。lite profile只支持定点实数,而common profile既支持定点数又支持浮点数 。OpenGL ES 2.0则是参照OpenGL 2.0规范定义的,common profile发布于2005-8 , 引入了对可编程管线的支持 。
OpenGL ES 还有一个safety-critical profile 。
- 支持, 3GS和后续版本,以及3代和后续版本 。- 支持平台从Android 2.2版本开始 。
- 支持Android NDK从Android 2.0版本开始 。
- 支持黑莓 。
- 支持潘多拉控制台的3D库 。
- 被支持:支持OpenGL
- 支持少数新款Nokia手机,比如N900上的和N8上的 Symbian3塞班3系统 。
- 支持多款手机 , 包括Galaxy S和 。
- 使用开发可以支持Palm webOS 。
- 支持Archos 爱可视上网本:70 IT, 101 IT
OpenGL- ES 是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口API , 主要针对多种嵌入式系统专门设计 , 包括控制台、移动电话、手持设备、家电设备和汽车 。它由精心定义的桌面OpenGL子集组成 , 创造了软件与图形加速间灵活强大的底层交互接口 。OpenGL ES 包含浮点运算和定点运算系统描述以及EGL针对便携设备的本地视窗系统规范 。OpenGL ES 1.X 面向功能固定的硬件所设计并提供加速支持、图形质量及性能标准 。OpenGL ES 2.X 则提供包括遮盖器技术在内的全可编程3D图形算法 。OpenGL ES-SC 专为有高安全性需求的特殊市场精心打造 。OpenGL ES (OpenGL for Embedded Systems) 是 API 的,针对手机、PDA和游戏主机等而设计 。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准 。
第1/2页
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可) 。OpenGL是个专业的图形程序接口 , 是一个功能强大 , 调用方便的底层图形库 。
OpenGL ES 2.0是Khronos Group在2007年3月份制定的一种业界标准应用程序编程接口(API),可以大大提高不同消费电子设备的3D图形渲染速度,在嵌入式系统上实现了全面可编程的3D图形 。AMD的认证测试是在一套AMD Z430开发套装上进行的,曾在今年的巴塞罗那全球移动大会上进行演示,也就是当时AMD发布了支持OpenGL ES 2.0的Z460图形核心 。在满足了OpenGL ES 2.0规范的关键特性,并通过了大量严格测试后,AMD获得了Khronos的认证 。
备注: opengl es与android有着密切的关系,主要体现在这两种接口的发展轨迹和研发公司 。
以下推荐一款支持OpenGL 3D加速的国产手机:
海尔超级战舰
360与海尔、高通合作推出的360第三款特供手机——海尔W910,此款手机命名为"超级战舰",售价1999元 。
海尔超级战舰采用28纳米制程CPU(高通8260A 双核1.5G处理器) , 配备4.5寸HD视网膜屏幕,分辨率1280X720,16700K色彩,像素密度达326ppi , 采用了美国康宁公司大金刚二代防滑玻璃 , 同时防水、防尘、防刮 。海尔超级战舰前后摄像头分别为130万像素和800万像素,支持1080P视频摄录,1G RAM内存、8G ROM存储 。支持OpenGL 2.0 3D加速 。
显卡支持openGL格式是什么意思?OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库 。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是3D图形的底层图形库 , 没有提供几何实体图元,不能直接用以描述场景 。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和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发展前景迷茫 。
手机openGl是什么意思?OpenGL ES (OpenGL for Embedded Systems)是OpenGL三维图形 API 的子集,针对手机、和游戏主机等而设计 。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准 。
OpenGL ES 是从OpenGL裁剪的定制而来 , 去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性 。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件 。OpenGL ES 1.0 是以OpenGL 1.3 规范为基础的,OpenGL ES 1.1是以OpenGL 1.5规范为基础的,它们分别又支持common和common lite两种profile 。lite profile只支持定点实数,而common profile既支持定点数又支持浮点数 。OpenGL ES 2.0则是参照OpenGL 2.0规范定义的,common profile发布于2005-8,引入了对可编程管线的支持 。
OpenGL ES 还有一个safety-critical profile 。
- 支持, 3GS和后续版本,以及3代和后续版本 。- 支持平台从Android 2.2版本开始 。
- 支持Android NDK从Android 2.0版本开始 。
- 支持黑莓 。
- 支持潘多拉控制台的3D库 。
- 被支持:支持OpenGL
- 支持少数新款Nokia手机,比如N900上的和N8上的 Symbian3塞班3系统 。
- 支持多款手机,包括Galaxy S和 。
- 使用开发可以支持Palm webOS 。
- 支持Archos 爱可视上网本:70 IT, 101 IT
OpenGL- ES 是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口API,主要针对多种嵌入式系统专门设计,包括控制台、移动电话、手持设备、家电设备和汽车 。它由精心定义的桌面OpenGL子集组成,创造了软件与图形加速间灵活强大的底层交互接口 。OpenGL ES 包含浮点运算和定点运算系统描述以及EGL针对便携设备的本地视窗系统规范 。OpenGL ES 1.X 面向功能固定的硬件所设计并提供加速支持、图形质量及性能标准 。OpenGL ES 2.X 则提供包括遮盖器技术在内的全可编程3D图形算法 。OpenGL ES-SC 专为有高安全性需求的特殊市场精心打造 。OpenGL ES (OpenGL for Embedded Systems) 是 API 的,针对手机、PDA和游戏主机等而设计 。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准 。
第1/2页
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可) 。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库 。
OpenGL ES 2.0是Khronos Group在2007年3月份制定的一种业界标准应用程序编程接口(API),可以大大提高不同消费电子设备的3D图形渲染速度,在嵌入式系统上实现了全面可编程的3D图形 。AMD的认证测试是在一套AMD Z430开发套装上进行的,曾在今年的巴塞罗那全球移动大会上进行演示,也就是当时AMD发布了支持OpenGL ES 2.0的Z460图形核心 。在满足了OpenGL ES 2.0规范的关键特性,并通过了大量严格测试后,AMD获得了Khronos的认证 。
备注: opengl es与android有着密切的关系,主要体现在这两种接口的发展轨迹和研发公司 。
以下推荐一款支持OpenGL 3D加速的国产手机:
海尔超级战舰
360与海尔、高通合作推出的360第三款特供手机——海尔W910,此款手机命名为"超级战舰",售价1999元 。
海尔超级战舰采用28纳米制程CPU(高通8260A 双核1.5G处理器),配备4.5寸HD视网膜屏幕,分辨率1280X720,16700K色彩,像素密度达326ppi,采用了美国康宁公司大金刚二代防滑玻璃 , 同时防水、防尘、防刮 。海尔超级战舰前后摄像头分别为130万像素和800万像素 , 支持1080P视频摄录,1G RAM内存、8G ROM存储 。支持OpenGL 2.0 3D加速 。
请问directx和opengl是对显卡的编程吗?那shader又是什么?三者有什么关系呢?DirectX(Direct eXtension , 简称DX)是由微软公司创建的多媒体编程接口 。由C++编程语言实现,遵循COM 。被广泛使用于Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和Microsoft XBOX ONE电子游戏开发,并且只能支持这些平台 。最新版本为DirectX 12,创建在最新的Windows 8.1上 。OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可) 。OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统 , OpenGL可以与Visual C++紧密接口 , 便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性目前,2.0版本开始加入了很多类似于DirectX中可编程单元的设计.Shader Model(在3D图形领域常被简称SM)就是“优化渲染引擎模式” 。Shader(着色器)是DirectX中一段能够针对3D对象进行操作、并被GPU所执行的程序 。早在微软发布DirectX 8时,Shader Model的概念就出现在其中了 , 并根据操作对象的不同被分为对顶点进行各种操作的Vertex Shader(顶点渲染引擎)和对像素进行各种操作的Pixel Shader(像素渲染引擎) 。到了Shader Model 4.0,在VS和PS之间引入了一个新的可编程图形层--几何渲染器(Geometry Shader) 。原来的Vertex Shader和Pixel Shader只是对逐个顶点或像素进行处理 , 而新的Geometry Shader可以批量进行几何处理 。然而性能受到诟病,为了兼顾性能 , 在DirectX11(SM 5.0)开始引入了Tessellation来取代GS的部分功能 。说白点,三者的关系是 , Shader Model是DirectX其中一个技术协议程序,而DirectX和OpenGL则是多媒体编程接口的竞争对手 。
请问懂openGL大神们,图中这个openGL窗口是用什么函数显示出来的?MFC编程把窗口显示区域的句柄通过EGL函数传入OpenGL中,用OpenGL显示 , 具体函数eglGetDisplay
请问OpenGL 选项在哪里啊 ae的在这里:
Edit > Preferences > Previews (win)
Choose After Effects > Preferences > Previews (Mac OS)
请问OpenCV和OpenGL有什么关系没什么关系 。两个都和图像处理有关 。但是OpenGL主要是游戏开发等三维处理,具体没怎么用过 。OpenCV是数字图像处理开放库 。图像处理算法实现 。很适合模式识别等 。
opengl搭建没有OpenGL.h,
gl/gl.h其实就是OpenGL.h,
其实VS2008已经自带了 , 不用下载的
你最好下载下GLUT ,
下载并安装glut库 opengl的glut库 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装 。Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
Windows环境下安装GLUT的步骤:
1、将下载的压缩包解开,将得到5个文件
2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹(Program Files\Microsoft Visual Studio\VC98\Include\GL文件夹”) 。把解压得到的glut.h放到这个文件夹 。
3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(Program Files\Microsoft Visual Studio\VC98\lib”文件夹) 。
4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内 。(典型的位置为:C:\Windows\System32)
什么是“openGL"模式OPENGL模式是FPS类游戏中一个运行模式 。利用显卡的性能来进行流畅的游戏 。
最典型的例子就是CS中,有三种显卡模式 。SOFTWARE OPENGL DIRECT3D
如果使用第一种软件加速的话,如果您系统内存不够就会非常卡,甚至卡出游戏 。。
OPENGL就是在您机器的显卡安装适合的驱动后可以选择的最佳模式 。(一般都是在游戏里面的设置里面选择使用的)
3D是一部分电脑有3D加速卡,利用这个性能来解析游戏 , 虽然也能达到OPENGL的效果,但是相比之下占用的资源太大了 。而且也有弊端 。
大概就是这个样子 。如果您的CS里面无法选择OPENGL模式的话,就说明您的显卡驱动没有装好 。去您显卡品牌的官网或者显卡之家下载最适合的驱动就可以啦 。。
软件模式和OpenGL模式有什么区别软件模式的 兼容好很多
虽然慢了点
但是 这个可以兼容多 , 你开多几个号都可以
然后这个也可以帮你解决白屏的问题
opengl模式有什么好D3D用于打竞技比较好OP打生化 会出现雾这些自然现象最坑坑爹是在晚上玩~
什么是OpenGL模式,cs1.5怎么弄OpenGL模式 。。。。。。。。解决方法:这个问题主要是由于您的显卡在opengl驱动方面有些问题造成的 。请下载以下这个注册表文件,解压缩后双击运行 。1
点击下载:
http://cdnpatch.csonlinechina.com/counter-strikeonline.zip
OpenGL是什么东西?OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库 。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是3D图形的底层图形库 , 没有提供几何实体图元,不能直接用以描述场景 。但是 , 通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组 。
openGL是什么啊 ?OpenGL是Open Graphics Library 的缩写,中文称三维图形标准,是由AT&T公司UNIX软件实验室、IBM、DEC、SUN、HP、Microsoft和SGI等多家公司在GL图形库标准的基础上联合推出的开放式图形库,它使在微机上实现三维真实感图形的生成与显示成为可能 。由于OpenGL是开放的图形标准,用户原先在UNIX下开发的OpenGL图形软件很容易移植到微机上的WindowsNT/95上 。
什么是OPENGLOpenGL的前身是SGI公司为其图形工作站开发的IRIS GL 。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL 。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口” 。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角 。
OpenGL是什么OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库 。高性能图形算法行业标准OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序 。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的 。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发 。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL 。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL 。OpenGL的英文全称是Open Graphics Library , 顾名思义,OpenGL便是开放的图形程序接口 。
openGL是个什么东西openGL就是开放图形库,也就是按标准规定提供的应用程序接口(函数)集!
详细情况请参http://baike.baidu.com/view/9222.htm?fr=ala0_1_1
我的世界 OpenGL 是什么意思OpenGL是个跨编程语言、跨平台的专业的图形程序接口 。它用于三维图像,是一个功能强大,调用方便的底层图形库!
如果你是在游戏中出错时看到的 那么应该是你的显卡不支持OpenGL这种技术!可以换新显卡了!
openGL是什么?是不是一个软件?OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库 。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是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景 。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和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发展前景迷茫 。
Open GL现状
Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API 。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险 。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL 。因此,硬件开发商正在设法加强对它的支持 。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位 。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持 。
高级功能
OpenGL被设计为只有输出的,所以它只提供渲染功能 。核心API没有窗口系统、音频、打印、键盘/鼠标或其它输入设备的概念 。虽然这一开始看起来像是一种限制,但它允许进行渲染的代码完全独立于他运行的操作系统,允许跨平台开发 。然而,有些整合于原生窗口系统的东西需要允许和宿主系统交互 。这通过下列附加API实现:
* GLX - X11(包括透明的网络)
* WGL - Microsoft Windows
另外 , GLUT库能够以可移植的方式提供基本的窗口功能 。
- 莴苣晒干保存的方法 莴苣晒干保存的方法是什么
- 沙棘原浆开封保存方法 沙棘原浆开封保存方法是什么
- 石榴粉是什么颜色 石榴粉的用途介绍
- 海香菇到底是什么 海香菇的介绍
- 土笋是什么 土笋简单介绍
- 松耳是什么 松耳的介绍
- 县级人民武装部看似存在感不强 后备干部是什么意思
- angler
- sata接口
- swisswin