3D API (3D应用程序接口) Application Programming Interface(API)应用程序接口,是许多程序的大集合。3D API能让编程人员所设计的3D软件只要调用其API内的程序,从而让API自动和硬件的驱动程序沟通,启动3D芯片内强大的3D图形处理功能,从而大幅度地提高了3D程序的设计效率。几乎所有的3D加速芯片都有自己专用的3D API,目前普遍应用的3D API有DirectX、OpenGL、Glide、Heidi等。
Direct 3D 微软公司于1996年为PC开发的API,与Windows 95 、Windows NT和Power Mac操作系统兼容性好,可绕过图形显示接口(GDI)直接进行支持该API的各种硬件的底层操作,大大提高了游戏的运行速度,而且目前基本上是免费使用的。由于要考虑与各方面的兼容性,DirectX用起来比较麻烦、在执行效率上也未见得最优,在实际3DS MAX的运用中效果一般,还会发生显示错误,不过总比用软件加速快。
OpenGL (开放式图形接口) 是由SGI公司开发的IRIS GL演变而来的复杂3D图形设计的标准应用程序接口。它的特点是可以在不同的平台之间进行移植;还可以在客户机/服务器系统中并行工作。效率远比 Direct 3D高,所以是各3D游戏开发商优先选用的3D API。不过,这样一来就使得许多精美的3D游戏在刚推出时,只支持3Dfx公司的VOODOO系列3D加速卡,而其它类型的3D加速卡则要等待其生产厂商提供该游戏的补丁程序。由于游戏用的3D加速卡提供的OpenGL库都不完整,因此,在3DS MAX中也会发生显示错误,但要比Direct 3D强多了!
Heidi 又称为Quick Draw 3D,是由Autodesk公司提出来的规格。它是采用纯粹的立即模式接口,能够直接对图形硬件进行控制;可以调用所有显示卡的硬件加速功能。目前,采用 Heidi系统的应用程序包括3D Studio MAX动画制作程序、Auto CAD和3D Studio VIZ等软件。Autodesk公司为这些软件单独开发WHIP加速驱动程序,因此性能优异是非常明显的!
Glide 是由3dfx公司开发的Voodoo系列专用的3D API。它是第一个PC游戏领域中得到广泛应用的程序接口,它的最大特点是易用和稳定。随着D3D和OpenGL的兴起,已逐渐失去了原来的地位。
PowerSGL 是NEC公司PowerVR系列芯片专用的程序接口。
3D特性: Alpha Blending (α混合) 简单地说这是一种让3D物件产生透明感的技术。屏幕上显示的3D物件,每个像素中有红、绿、蓝三组数值。若3D环境中允许像素能拥有一组α值,我们就称它拥有一个α通道。α值的内容,是记载像素的透明度。这样一来使得每一个物件都可以拥有不同的透明程度。比如说,玻璃会拥有很高的透明度,而一块木头可能就没什么透明度可言。α混合这个功能,就是处理两个物件在萤幕画面上叠加的时候,还会将α值列入考虑,使其呈现接近真实物件的效果。
Fog Effect (雾化效果) 雾化效果是3D的比较常见的特性,在游戏中见到的烟雾、爆炸火焰以及白云等效果都是雾化的结果。它的功能就是制造一块指定的区域笼罩在一股烟雾弥漫之中的效果,这样可以保证远景的真实性,而且也减小了3D图形的渲染工作量。
Attenuation (衰减) 在真实世界中,光线的强度会随距离的增大而递减。这是因为受到了空气中微粒的衍射影响,而在3D Studio MAX中,场景处于理想的“真空”中,理论上无这种现象出现。但这种现象与现实世界不符,因此为了达到模拟真实的效果,在灯光中加入该选项,就能人为的产生这种效果!
Perspective Correction (透视角修正处理) 它是采用数学运算的方式,以确保贴在物件上的部分影像图,会向透视的消失方向贴出正确的收敛。
Anti-aliasing (抗锯齿处理) 简单地说主要是应用调色技术将图形边缘的“锯齿”缓和,边缘更平滑。抗锯齿是相对来来说较复杂的技术,一直是高档加速卡的一个主要特征。目前的低档3D加速卡大多不支持反锯齿。
Adaptive Degradation (显示适度降级) 在处理复杂的场景时,当用户调整摄象机,由于需要计算的物体过多,不能很流畅的完整整个动态显示过程,影响了显示速度。为了避免这种现象的出现,当打开在3D Studio MAX中打开Adaptive Degradation时,系统自动把场景中的物体以简化方式显示,以加快运算速度,当然如果你用的是2-3万的专业显卡,完全不用理会!
Z-Buffer (Z缓存) Z-buffering是在为物件进行着色时,执行“隐藏面消除”工作的一项技术,所以隐藏物件背后的部分就不会被显示出来。 在3D环境中每个像素中会利用一组数据资料来定义像素在显示时的纵深度(即Z轴座标值)。Z Buffer所用的位数越高,则代表该显示卡所提供的物件纵深感也越精确。目前的3D加速卡一般都可支持16位的Z Buffer,新推出的一些高级的卡已经可支持到32位的Z Buffer。对一个含有很多物体连接的较复杂3D模型而言,能拥有较多的位数来表现深度感是相当重要的事情,3D Studio MAX最高支持64位的Z-buffer。
W-Buffer (W缓存) 与Z-buffer作用相似,但精度更高,作用范围更小,可更为细致的对物体位置进行处理。
G-Buffer (G缓存) G-buffering是一种在Video Post中基于图象过滤和图层事件中可使用的物体蒙板的一种着色技术。用户可以通过标记物体ID或材质ID来得到专用的图象通道!
A-Buffer (A缓存) 采用超级采样方式来解决锯齿问题。具体方法是:使用多次渲染场景,并使每次渲染的图象位置轻微的移动,当整个渲染过程完结后,再把所有图象叠加起来,由于每个图象的位置不同,正好可以填补图象之间的间隙。该效果支持区域景深、柔光、运动模糊等特效。由于该方式对系统要求过高,因此只限于高端图形工作站。
T-Buffer (T缓存) 由3DFX所公布的一种类似于A缓存的效果,但运算上大大简化。支持全场景抗锯齿、运动模糊、焦点模糊、柔光和反射效果。
Double Buffering (双重缓冲区处理) 绝大多数可支持OpenGl的3D加速卡都会提供两组图形画面信息。这两组图形画面信息通常被看着“前台缓存”和“后台缓存”。显示卡用“前台缓存”存放正在显示的这格画面,而同时下一格画面已经在“后台缓存” 待命。然后显示卡会将两个缓存互换,“后台缓存”的画面会显示出来,且同时再于“前台缓存”中画好下一格待命,如此形成一种互补的工作方式不断地进行,以很快的速度对画面的改变做出反应。
IK (反向运动) Inverse kinematics(IK)反向运动是使用计算父物体的位移和运动方向,从而将所得信息继承给其子物体的一种物理运动方式。
Kinematic Chain (正向链接运动) Kinematic Chain正向链接运动是定义一个单一层级分支,使其分支下的子物体沿父物体的链接点运动。
NURBS Non-Uniform Rational B-Splines(NURBS)是一种交互式3D模型曲线&表面技术。现在NURBS已经是3D造型业的标准了。
2-sided (双面) 在进行着色渲染时,由于物体一般都是部分面向摄象机的,因此为了加快渲染速度,计算时常忽略物体内部的细节。当然这对于实体来说,不影响最终的渲染结果;但是,如果该物体时透明时,缺陷就会暴露无疑,所以选择计算双面后,程序自动把物体法线相反的面(即物体内部)也进行计算,最终得到完整的图象。
Material ID (材质标识码) 通过定义物体(也可以是子物体)材质标识码,来实现对子物体贴图或是附加特殊效果,重要的是现在一些非线型视频编辑软件也支持材质标识码。
Voxels (三维像素) 三维像素是一种基于体积概念的像素。通常的普通像素只需要X、Y轴两个坐标来定位它在空间中的方位。而它还需要加进一个额外的Z轴坐标,相当于空间中一个非常小的立方体。由于它本身就有很多细节可以单独描写,所以直接就能生成物体。但是,这种技术应用不广泛,原因在于它的运算量相当大,但是效果相当理想。
Polygon (多边形) Polygon是由许多线段首尾相连构成的封闭图形,其中每两条线段所构成的点被称为Vertices(顶点)。许许多多的多边形搭配在一起就构成了各种各样的三维物体,数量越多则细节描写越清晰。
Alpha Channel (Alpha通道) 在24位真彩色的基础上,外加了8位的Alpha数值来描述物体的透明程度。
Dithering (抖动显示) 它是一种欺骗你眼睛,使用有限的色彩让你看到比实际图象更多色彩的显示方式。通过在相邻像素间随机的加入不同的颜色来修饰图象,通常这种方式被用颜色较少的情况下。
MMX指令集 MMX指令集实质是一种SIMD数据处理方式(单指令流,多数据流)。由Intel公司开发,它允许 CPU同时对2-4个甚至8个数据进行并行处理。它有效的提高了CPU对视频、音频等多媒体方面的处理速度,但3D运算多为浮点运算,而MMX指令集对 CPU的浮点运算能力没有什么贡献,因此MMX指令集在制作3D上没有实际意义。 3D Now!指令集 3D Now!是一种3D加速指令集,由AMD公司开发。它也是一种SIMD数据处理方式,但它的加速对象却是CPU浮点运算。它是一个时钟周期内可以同时处理4个浮点运算指令或两条MMX指令。 [1] [2] 下一页 |