当前位置:首页 » 操作系统 » opengl光线跟踪算法

opengl光线跟踪算法

发布时间: 2022-08-30 05:27:46

① 手机里的“OpenGL跟踪”是干什么的

这功能对手机用户没什么用, 对开发人员才有用。
因为安卓的界面可以用opengl来绘制 ,而程序员需要了解绘制时候的过程是怎样,某一时刻gpu在干嘛?

② Vulkan相比于OpenGL、DX12、Metal和Mantle有什么优势、劣势

具体如下:跨平台兼容性更好(相对于DX2, Metal,cuda),opengl的跨平台也做得很好,不过vulkan从某种角度来说就是为了替代opengl。用上vulkan几乎可以全平台支持,对于一些小企业来说是个不错的选择。

这些核心功能还包括16位内存获取高级计算,HLSL内存分布支持,视频流的显示,处理和编程,通过许多视频编辑解码器生成的YCbcRr颜色格式化纹理的直接抽样。同时,它还带来了与DirectX 12的更好兼容性,显式支持多GPU,光线跟踪支持,为下一代GPU奠定了基础。

科纳斯在SIGGRAPH2016上宣布Vulkan将支持自动多GPU功能,类似于Direct3D 12所提供的功能,显示驱动程序不再需要处理多个GPU的使用,相反,两个或更多完全不同的GPU之间可以智能地分配工作负载。

科纳斯于2018年3月7日发布了Vulkan 1.1。它扩展了几个核心功能,包括子集操作,例如多视图、设备组、高级渲染和编辑操作程序跨流程API交互操作。

③ OpenGL是什么东东

当然有自带啦!!不信运行DXDIAG试试看!

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

④ 三维动画设计软件

三维动画制作软件 :

《侏罗纪公园》、《第五元素》、《泰坦尼克号》这些电影想必大家都看过了吧,我们为这些影片中令人惊叹的特技镜头所打动,当我们看着那些异常逼真的恐龙、巨大无比的泰坦尼克号时,可曾想到是什么创造了这些令人难以置信的视觉效果?其实幕后的英雄是众多的三维动画制作软件和视频特技制作软件。好莱坞的电脑特技艺术家们正是借助这些非凡的软件,把他们的想象发挥到极限,也带给了我们无比的视觉享受。
实际上,实现电脑视觉特技可以说是电脑软件和硬件的一大难题,因为这需要非常强大的软件和能提供无比运算能力的硬件平台。所以这项工作可以说是在高科技电影中花费最大和最费时的,并且需要大量的专业高级技术人才。要知道《泰坦尼克号》中光是视频特技部分的花费就是2500万美圆。
在电脑影视特技的领域中,SGI可以说是无人不知,其所生产的SGI超级图形工作站可算是最好的3D与视觉特技的硬件平台,它提供给创作人员异常强大的图形工作能力,具有超级的实时反馈,可以让工作人员以最快的速度进行创作。Softimage 3D、MAYA、Flint等软件在SGI平台上可以发挥最好的性能。虽然现在PC平台也开始入侵视频制作的领域,但是SGI依然是视频领域高端运用的绝对主力选手。
光有超强的硬件平台还不够,电影电视中那些逼真的形象还是得靠各种各样的超级3D图像软件来实现。这些特技软件每年的全世界销售额在12亿美圆左右。而且各专业厂商都有自己特定的优势产品和用户群,所以形成了群雄争天下的局面。Softimage、Alias/Wavefront这些家喻户晓的软件更可以说是割据一方,各有特点。然而让人苦恼的是,这些工作站级的软件原来都是只能运行在SGI的超级图形工作站上的,而一台SGI工作站的价格在数万到数十万美圆,可以说是巨额投资,这也相对制约了这些软件的普及,使它们成为少量专业人员的工具。这一状况直到软件业的巨人——Microsoft染指3D动画业才得到了彻底的改变。1994年,Microsoft公司以1.3亿美圆的巨资收购了Softimage公司,使其成为Microsoft公司的全资子公司。随后便推出了Softimage 3D for NT版,这也标志着高端图形软件开始进入PC的大家庭,可以说是视频特技软件业的一颗原子弹。这之后各软件厂商也赶紧推出他们自己软件的NT版,因为他们知道PC平台有价格低、发展迅速的优势,必定有大量的用户将转向PC平台,况且如果不紧跟Microsoft的脚步,必将被淘汰。SGI公司看到这种情形也不示弱,于1995年将Alias研究公司和Wavefront公司收购,顺势推出了最新的3D动画软件——MAYA。现在基本上各种高端图形软件都有了各自的NT版,如Softimage 3D、MAYA、Houdini、Effect等。许多从事图像特技的公司也纷纷开始使用价格低廉的PC平台从事设计工作,只把最复杂的部分放在SGI的工作站上来制作。
虽然现在Microsoft公司已将Softimage公司卖出,但是Microsoft公司在这场革命中所扮演的领导者角色却是不容质疑,下面我们就为大家介绍一下现在国外流行的各种3D与视觉特技软件。这些软件都可以运行在PC平台上。
一、Softimage 3D
Softimage 3D是Softimage公司出品的三维动画软件。它在动画领域可以说是无人不知的大哥大。《侏罗纪公园》、《第五元素》、《闪电悍将》等电影里都可以找到它的身影。Softimage 3D杰出的动作控制技术,使越来越多的导演要选用它来完成电影中的角色动画。《侏罗纪公园》里身手敏捷的速龙、《闪电悍将》里闪电侠那飘荡的斗篷,都是由Softimage 3D来设置动画的。
Softimage 3D最新版是3.8版,3.8又分为普通版和Extreme版,Extreme版增加了mental ray渲染器和粒子系统,还有一些增强的功能模块。但普通版在动画能力上同Extereme版一样,丝毫没有遗漏。
Softimage 3D最知名的部分之一是它的mental ray超级渲染器。有人说mental ray是所有动画软件中最强的渲染器,在我看来这一点也不夸张。Mental ray渲染器可以着色出具有照片品质的图像,《星际战队》中昆虫异形就是用mental ray渲染的。许多插件厂商专门为mental ray设计的各种特殊效果则大大扩充了mental ray的功能,我们能用它制作出各种各样奇妙的效果。mental ray还具有很快的渲染速度。我曾做过一个实验,用3Ds Max的raygun和Softimage 3D的mental ray来渲染同一张玻璃杯的图像,mental ray的渲染速度要高于rangun很多,而且渲染品质更是让raygun相形见拙。mental ray manager还可以让我们轻松地制作出各种光晕、光斑的效果。
Softimage 3D的另一个重要特点就是超强的动画能力,它支持各种制作动画的方法,可以产生非常逼真的运动,它所独有的functioncurve功能可以让我们轻松地调整动画,而且具有良好的实时反馈能力,使创作人员可以快速地看到将要产生的结果。
Softimage 3D的设计界面由5个部分组成,分别提供不同的功能。而它提供的方便快捷键可以使用户很方便地在建模、动画、渲染等部分之间进行切换。据说它的界面设计采用直觉式,可以避免复杂的操作界面对用户造成的干扰。
Softimage 3D从3.7版本开始将nurbs功能完全引入。提供blend、trim等高级的nurbs技术,但是从易用性上来讲同Rhino 3D等专业nurbs建模工具还有不小的差距。
Softimage 3D下一代版本的代码名是Sumatra。据Softimage公司声称,这将是第一个将非线性概念引入到三维动画创作中的软件。它将完全改变现有的动画制作流程,极大地提高创作人员的效力。让我们拭目以待它的到来。
Softimage公司的官方站点是:www.softimage.com

二、Alias/Wavefront MAYA
MAYA是Alias/Wavefront公司出品的最新三维动画软件。虽然还是个新生儿,但发展的步伐却有超过Softimage 3D的势头。实际上Alias/Wavefront原来并不是一个公司,Wavefront公司被Alias公司所收购,而Alias公司却被 Silicon Graphics公司所收购,最终组成了现在的Alias/Wavefront公司。Alias公司和Wavefront公司原来在3D领域都有着自己的强项,如Wavefront公司的Dynamation和3Design等。而Alais公司的Power animator和Power Modle等也是文明于世。
Alias/Wavefront推出的MAYA可以说是当前电脑动画业所关注的焦点之一。它是新一代的具有全新架构的动画软件。从MAYA这个古老而又神秘的名字就可以看出,这个软件蕴涵着巨大的能量。下面就介绍一下MAYA的新功能。
(一)采用object oriented C++ code整合OpenGL图形工具,提供非常优秀的实时反馈表现能力,这一点可能是每一个动画创作者最需要的。我想任何一个人都不愿意自己做的修改要等很长时间才能看到结果。
(二)具有先进的数据存储结构,强力的scenceobject处理工具——Digital project。
(三)运用弹性使用接口及流线型工作流程,使创作者可以更好地规划工程。
(四)使用scripiting & command language语言,MAYA的核心引擎是一种称为MEL(MAYA Embedded Language马雅嵌入式语言)的加强型scripiting与command语言。MEL是一种全方位符合各种状况的语言,支援所有的MAYA函数命令。
(五)在基本的架构中,MAYA自定undo/redo的排序,同时MAYA也提供改变procere stack(程序堆叠)及re-excute(再执行)的能力。
(六)层的概念在许多图形软件中已经广泛地运用了。MAYA也把层的概念引入到动画的创作中,你可以在不同的层进行操作,而各个层之间不会有影响。当然你也可以将层进行合并或者删除不需要的层。
在MAYA中最具震撼力的新功能可算是Artisan了。它让我们能随意地雕刻nurbs面,从而生成各种复杂的形象。如果你有数字化的输入设备,如数字笔,那你更是可以随心所欲地制作各种复杂的模型,那些一听到要建模就头疼的人有解药了。
MAYA的强大是不容怀疑的,你可以到SGI公司的官方站点(http://www.aw.sgi.com/)去看看它的演示动画,我想你一定会惊叹不已的。

三、Houdini
可能国内的读者对Houdini不是很了解,估计也没有什么人用它。不过它在国外的确是一个非常惹人注目的三维动画和视觉特技软件。同其它软件不同的是,它把三维动画同非线性编辑结合在了一起。
Houdini特别厉害的功能应该是它的粒子系统和变形球系统。《终结者Ⅱ》里的液态机器人就是用Houdini的变形球系统来完成的,那惊人的效果到现在还不能让我忘怀。
Houdini的界面也比较复杂,每个控制的参数很多,不过好的东西总是难学么。Houdini其它方面的东西我也不太了解,大家去它的站点看看吧。http://www.sidefx.com/

四、3Ds Max
说到三维动画软件,如果不提3Ds Max恐怕要被人笑话了。这套由Autodesk公司推出的,应用于PC平台的三维动画软件从1996年开始就一直在三维动画领域叱咤风云。它的前身就是 3Ds,可能是依靠3Ds在PC平台中的优势,3Ds Max一推出就受到了瞩目。它支持Windows 95、Windows NT,具有优良的多线程运算能力,支持多处理器的并行运算,丰富的建模和动画能力,出色的材质编辑系统,这些优秀的特点一下就吸引了大批的三维动画制作者和公司。现在在国内,3Ds Max的使用人数大大超过了其它三维软件。可以说是一枝独秀。
3Ds Max从1.0版发展到现在的2.5版,可以说是经历了一个由不成熟到成熟的过程。现在的2.5版已经具有了各种专业的建模和动画功能。nurbs、dispace modify、camer traker、motion capture这些原来只有在专业软件中才有的功能,现在也被引入到3Ds Max中。可以说今天的3Ds Max给人的印象绝不是一个运行在PC平台的业余软件了,从电视到电影,你都可以找到3Ds Max的身影。我想很多人看过《迷失太空》这部科幻电影了,你知道吗,这部电影中的绝大多数特技镜头都是由3Ds Max来完成的。
3Ds Max的成功在很大的程度上要归功于它的插件。全世界有许多的专业技术公司在为3Ds Max设计各种插件,他们都有自己的专长,所以各种插件也非常专业。例如增强的粒子系统sandblaster, ourburst, 设计火、烟、云的afterburn, 制作肌肉的metareyes, 制作人面部动画的jetareyes。有了这些插件,我们就可以轻松设计出惊人的效果。据说每天都有新的为3Ds Max设计的插件推出。嘿嘿,我们这些想偷懒的人全靠它们了。
不过我觉得3Ds Max也还有不足之处,比如它的渲染质量就不怎么样。虽然它有radisoray、 raygun这些增强的渲染器,但不管从渲染质量和渲染速度上来讲,同Softimage 3D这类软件还是有差距。
http://www.ktx.com/

五、LIGHTWAVE 3D
目前LIGHTWAVE最新的版本是5.5版,它在好莱坞所具有的影响一点也不比Softimage、Alias等差。可是它的价格却是非常的低廉,这也是众多公司选用它的原因之一。但光有低廉的价格还不行,LIGHTWAVE 3D的品质也是非常出色。最近名扬全球的好莱坞巨片《泰坦尼克号》中的泰坦尼克号模型,就是用LIGHTWAVE制作的。
据官方统计,现在在电影与电视的三维动画制作领域中,使用LIGHTWAVE 3D的比例大大高于其它软件,连Softimage 3D也甘拜下风。全世界大约有4万人在使用LIGHTWAVE3D(便宜用的人自然就多了嘛!)。Digital Domain 、Will Vinton、Amblin Group、Digital Muse、Foundation等顶尖制作公司,也纷纷采用LIGHTWAVE 3D来进行创作。
LIGHTWAVE 3D是全球唯一支援大多数工作平台的3D系统。Intel(Windows NT/95/98)、SGI、 SunMicro System、PowerMac、DEC Alpha,各种平台上都有一致的操作界面,无论你使用高端的工作站系统或使用PC,LIGHTWAVE3D都能胜任。
现在的LIGHTWAVE 3D 5.5版包含了动画制作者所需要的各种先进的功能∶光线追踪(Raytracing)、动态模糊(Motion Blur)、镜头光斑特效(Lens Flares)、反向运动学(Inverse Kinematics,IK)、Nurbs建模(MetaNurbs)、合成(Compositing)、骨骼系统(Bones)等。
它的官方站点是:http://www.newtek.com/

六、Rhino3D
基本上每一个3D动画软件都有建模的功能。但是如果你想有一套超强功能的nurbs建模工具,恐怕非rhino3D 莫属了。Rhino3D是真正的nurbs建模工具。它提供了所有nurbs功能,丰富的工具涵盖了nurbs建模的各方面:Trim、blend、 loft、fourside,可以说是应有尽有,你能够非常容易地制作出各种曲面。
Rhino3D的另一大优点就是它提供了丰富的辅助工具,如定位、实时渲染、层的控制、对象的显示状态等,这些可以极大地方便用户的操作。
Rhino3D可以定制自己的命令集。你可以将常用到的一些命令集做成一个命令按钮,使用后可以产生一系列的操作,很像DOS里的批处理命令。这对那些经常要重复的操作特别有用,例如调整人脸形状。
Rhino3D还提供命令行的输入方法,用户可以输入命令的名称和参数。不过在我看来这倒是有些麻烦,因为你得去记命令的拼法,能少用还是少用吧。
因为rhino3D是专门的nurbs建模软件,所以不提供动画的功能。在渲染方面rhino3D还不错,提供了材质等较多的控制。不过我还是只把它当作专门建立模型的工具。
Rhino3D可以输出许多种格式的文件。现在已经可以直接输出nurbs模型到3Ds Max、Softimage 3D等软件中了,你也可以把nurbs转换为多边形组成的物体,供其它软件来调用。
转换时你可以方便地选择生成不同质量的模型,适应不同的需求。现在已经有越来越多的人用rhino3D来建模了,如果你还没有用过的话,去试试吧!
www.rhino3D.com

七、World builder
在三维动画领域当中,可能制作令人信服的三维地貌环境是最困难的部分之一了。如果我们用普通的三维动画制作软件来制作的话,肯定要花费大量的时间和精力来实现现实环境中的每一个细节。World builder的推出可以说是带给了我们巨大的福音。
World builder是一套专门的三维造景软件,它可以非常方便地生成各种地形地貌与各种逼真的树木花草,而且生成的环境绝对是真三维的,你可以从各个角度观看或者是生成动画。这一切恐怕还要归功于World builder内建的材料库了,包括地面、水、花草树木、天空等等,非常丰富。
World builder的渲染速度是一个弱点,如果你要渲染一张比较复杂的场景,可能花费很长的时间,不过渲染的品质还不错。
这个软件的界面非常像3Ds Max,而且许多操作也非常类似,但我有一种怪怪的感觉,不太喜欢,可能是看3Ds Max过多的缘故吧。
World builder还支持很多的三维动画软件,你可以将在world builder里生成的场景直接调入到3Ds Max、LIGHTWAVE等软件里去使用,并且可以将场景的材质也一同输出。这是一个非常好的特点,我们可以使用像3Ds Max这样的动画软件来实现后期的着色和动画。

八、World Constrution Set
World Constrution Set也是一套3D造景软件,它所实现的功能基本上同World builder相同,不过它的知名度可是一点也不比World builder小。
World Constrution Set同其它造景软件一样,提供了许多现成的库供设计者调用,但不同的是,在World Constrution Set中云朵、湖泊等都可以设置为运动的,在渲染后的动画中可以产生非常真实的效果。
细心的读者会发现World Constrution Set的一个不足之处,就是场景中许多精细的地方是由贴图来实现的,而不是真正的三维模型,所以有些地方放大后会有不小的粗糙感。
World Constrution Set的界面设计得非常好,直观的地图编辑器可以方便地产生各种真实的地貌。相比之下,World builder在这点上就较差了。
这套软件号称可以和3Ds Max等软件做密切的配合,我想这也是三维造景软件所必须的一个部分吧。

九、TrueSpace 4.0
我想大部分人肯定知道Truespace吧。我在Windows环境下接触的第一个三维软件就是Truespace。不过那时候还是2.0版本,现在 Truespace已经是4.0了。原来Truespace给我的感觉是像一个业余的三维动画制作软件,界面虽然不错,但功能有限,渲染质量也不行。不过现在看了Truespace 4.0以后,确实发现它强悍了许多。渲染的质量非常好。
Truespace 4.0高超的渲染品质要归功于全新的渲染器,由Lightwork design公司开发的LightWorks Pro渲染引擎,TrueSpace 4.0将高级的光传导渲染法(radiocity)与传统的渲染功能完美地整合在一起,如光线追踪(raytrace)。光传导技术的运用可以大大加强场景的真实性。
TrueSpace 4.0同前几个版本一样拥有迷人的界面,这也是我所见到的最有艺术风格的界面了。在TrueSpace 4.0中,增加了更多传统的控制元件,如按钮、面板、滑动器等,界面本身已经变成3D工作中的一部分了,并且完全可由 3D硬件来加速。如果你比较喜欢原来的2D界面,仍然可以使用。当然也可以同时结合2D及3D界面元件。
TrueSpace 4.0的实时渲染能力号称可与那些3D游戏相比拟。它的这项功能比使用3D加速卡的TrueSpace 3.0着色品质还高,而且速度加快3到5倍。
如果一个三维动画制作软件没有nurbs建模能力,那在大多数人看来最多就是业余级的,Truespace 4.0当然也不甘落后,它的模型工具可以直接在表面上执行nurbs,并且具有实时反馈的能力。
总之,Truespace 4.0是一个相当不错的动画软件,虽然比Softimage这样的专业软件比功能上还有差距,但与3Ds Max大有一争。

十、BRYCE3D
BRYCE3D 2.0也是一套3D的造景软体,由Metacreations公司出品。
在BRYCE中你可以设定地形、山脉、湖泊、云彩等,另外你也可以借由输入图形或是物件的方式产生地形,如果不牵涉到输入的话,你通常只需要进入相关视窗中点选你要的物件,或是直接按一下图形即可。BRYCE的地面以及山脉岩石等物件是采取随机的方式产生的,因此你每次按下图形钮所产生的物件形状都不太一样,至于材质设定方面,除了内附的材质库外,它也允许你输入喜欢的材质来编辑,当然里面本来就有一个材质编辑器,可以让你自己去产生材质。不过这些在我看来都还是太业余了点,同World builder这类软件相比还有不小的差距。
BRYCE3D最大的一个毛病就是渲染速度太慢。渲染一简单的地形需要花费数十分钟的时间,简直不能让人忍受。不过Metacreations声称,这是由于BRYCE3D在渲染时使用的是光线跟踪算法的原因。在我看来渲染费这么长的时间,但从最后的图像质量来看并不是值得的。BRYCE3D的另一个毛病是动画能力不足,同其它软件比起来就像小学生。
据说在bryce3D 3.0里这些会有所改善,就让我们拭目以待吧!

十一、POSER
POSER是专门用来制作人体的软件。现在最高版本是4.0。在制作人物方面POSER可以说是游刃有余。它可以产生各种类型的人物:男性、女性、小孩等。你可以轻易地选择各种类型的人物部件,从头部到脚部你可以从现成的库中选择来组成千变万化的形象。
你还可以创建动物模型。制作好模型以后还可以选择各种衣服、皮肤等。现在POSER也支持动画。不过我觉得这个功能却是不行,生成的动画最多只能用来做教学演示用。不过POSER可以将制作的模型生成3Ds文件,供其它软件调用。但这种转换的精度不是很高,模型会变的比较粗糙。
POSER是一个很业余的小玩意。界面却是非常的“艺术”,我很喜欢。如果你想制作真实的人物动画的话,还是不要用它的好。

十二、4dpaint
直接在三维模型上绘图是一种非常实用的,而且是制作极好的材质的方法,它比传统的贴图方法更加灵活,而且贴图更加准确。但是这种方法原来只有在SGI 工作站上才能做到,因为它需要极大的实时反馈能力,制作人员需要马上看到绘制的结果并做出调整。不过现在PC平台上也有了如此的绘图软件—— 4dpaint。
你可以把制作好的三维模型调入4dpaint中,4dpaint提供了各种笔刷与各种绘图的材料,你可以直接在模型上绘制颜色,也可以把某种贴图绘在模型上。你甚至可以直接绘制凹凸贴图。而且4dpaint的实时渲染能力非常强,所绘即所得。你还可以旋转模型,从各个不同的角度去观看你绘制的结果,改变场景的光线设置,你可以在不同的灯光环境下观察贴图的效果。绘制好以后你只要将贴图保存,在三维软件里调用就可以了。
现在4dpaint可以和Softimage 3D、3Ds Max等三维软件很好地配合,你甚至可以从3Ds Max中直接进入4dpaint,就像使用3Ds Max的一个部分,非常方便。
和4dpaint竞争的有3Dpainter,功能同4dpaint差不多,不过界面却很复杂,所以我还是喜欢 4dpaint,大家还是试试看吧。
4dpaint的官方站点是:http://www.4dvision.com
典尚设计专业三维动画制作http://www.dillsun.com

⑤ opengl 光线追踪

目前做光线追踪还是靠CPU,CUDA等GPU加速实现。

⑥ 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实现的是3维转2维的高速软件算法,支持opengl的显卡指,硬件电路实现了其中的部分算法以加速运算
代码都是c++的,没有调用win32平台的api,当然可以跨平台了

⑧ 用OpenGL实现一个光线跟踪算法,场景自由构建,也可以是教程,但是必须有代码,邮箱[email protected]

OpenGL光线追踪的代码很多。你自己到C3DN论坛(中国3D技术开发社区)里下载吧。。。挺多的。google搜索“C3DN”,论坛里的“资源下载”版块有很多源代码,而且有运行效果截图。

⑨ 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便是开放的图形程序接口。

热点内容
落叶片拍摄脚本 发布:2025-05-14 20:40:49 浏览:797
安卓为什么不能用cmwap 发布:2025-05-14 20:40:43 浏览:656
jquery获取上传文件 发布:2025-05-14 20:27:57 浏览:43
云web服务器搭建 发布:2025-05-14 20:25:36 浏览:525
汽修汽配源码 发布:2025-05-14 20:08:53 浏览:742
蜜蜂编程官网 发布:2025-05-14 19:59:28 浏览:57
优酷怎么给视频加密 发布:2025-05-14 19:31:34 浏览:635
梦三国2副本脚本 发布:2025-05-14 19:29:58 浏览:860
phpxmlhttp 发布:2025-05-14 19:29:58 浏览:434
Pua脚本 发布:2025-05-14 19:24:56 浏览:449