|
(二)潜在的解决方案
在2001年九月的ARB会议上,3Dlabs展示了他们的OpenGL 2.0版本。在过去,SGI是ARB事实上的领导者、与下一代扩展指令的发起人。由于SGI明智的将其资源投注在公司的重整上,3Dlabs因而逐渐地在会议中扮演起更为主动的角色,并着手通过教育上的努力,为即将于九月份会议上提出的OpenGL
2.0做准备。3Dlabs商业发展部门的资深副总Neil Trevett、及开发商关系负责人John Schimpf,也准备在Siggraph上为大家演示一份文稿。ARB会议也准备在此时展开,和ARB碰过头的3Dlabs代表团,想行动起来的意愿和急切性出乎任何人的预料。
事实上ARB的首要目标之一,是要平息ATI和Nvidia间关于顶点着色扩展指令的争议。这个部份由于两家公司曾私下会商过,并且共同推出一个发展暂时性顶点着色的方案,因此已经获得有效的解决了。这个过程获得采用Nvidia及ATI绘图技术的Apple(苹果计算机),大力的促成和热切的企盼。霎时间ARB似乎摇身一变,成为具有远见和目标的前瞻性组织。
该团体接受了3Dlabs的提议进行OpenGL 2.0架构的开发,他们也描绘出一个清楚的发展路线。由于已经相当明确,因此OpenGL的主要且近期的目标,就在于启动并开发硬件的可编程能力。然而OpenGL在其它地方也需要进行更新。OpenGL是在1992被开发出来的,当时的硬件较低级、且在内存管理上并不是那么注重。现在该团体被赋予在OpenGL中加上内存管理,以便支持高级像素处理的责任。此外,OpenGL还需要和DirectX在材质压缩、也就是ARB所谓的像素封装上进行竞争或合作。接着,嵌入式绘图对OpenGL来说也是非常关键的一项需求。同时要再次强调的是,游戏是十分不同的领域,因为嵌入式绘图就定义上而言是固定不变的,然而运用它的应用程序都有各自且较不精细的需求,至少在刚开始的时候是这样的。事实上对嵌入式绘图而言,目前最急迫的需求会是将Playstation
1的功能,以硬件布线的方式做到芯片上去。
最后,OpenML的开发兼推行商Khronos Group,则希望将OpenML加入OpenGL的共同发展项目中,以开发结合视频功能与高级绘图能力的产品。此外,包含3Dlabs、Sun(升阳)、Intel、
Discreet、Evans、Sutherland、Pinnacle、RealViz与SGI在内的OpenML组织,对嵌入式设备也有意涉足。他们希望藉由建立互连网设备上的多媒体标准,可以在PDA游戏的移植上有所突破,提供真正的绘图、视频和互动能力。
要开发高级OpenGL标准最先要做的一步,就是回头整合与OpenGL 1.3间的兼容性,同时藉由在一些必备功能、如顶点与像素处理及内存管理上,与DirextX共同合作以维持均势。
在第一端段,OpenGL将会向下保留对Open GL 1.3的完整兼容性。为了达成此一目标,OpenGL
2.0将由OpenGL 1.3现有的功能、搭配完全兼容的新功能所组成。如图2所示。这个好处在于它也将开始对在ARB停滞不前时期,数量不断增加、纠缠不清的扩展指令做一彻底精简。此外,硬件可编程能力的实现,将提供一个更好的方法以整合现有的扩展指令。
下一步就是合成一个提供开发者更多精简API的「纯OpenGL 2.0」。这可通过将特定OpenGL功能规范为「旧式」功能,并指导开发商采用更具有弹性的可编程功能、而扬弃固定不变的函数性功能来达成。如图3所示。

3Dlabs在制订规格上已经进行得相当成功,也发表了OpenGL 2.0白皮书 www.3dlabs.com/support/developer/ogl2/index.htm。该公司表示他们有一套相当直接的计划来改变OpenGL的特性,也就是3Dlabs目前所说的缺乏弹性。相反的,他们表示将运用可编程能力,以快速获取最急切需求的功能。此外,他们也表示将通过检查扩展指令、并在最常被要求变更的区域加上优先性,以便辨识那些功能。
这项计划是希望在不要求弹性,以及硬件实现的成本较低、更有效率的地方,保留那些固定的功能。举例来说像圆柱剪裁、隐面消除、视坐标对应等功能都可保持为固定功能;此外,画面缓冲区中有关读取∕修改∕写入运算等功能也相当适合用硬件来实现。其目标在于将可编程能力扩展至所有的OS与硬件平台上。
|