内容导航
任何实时的3D图像最重要的两个特性是它的逼真度和优化度。如果我们使用模拟真实世界的数学模型,它仍然需要几分钟的时间来制作帧图像。现在我们可以看到现代版的3D帧图像设计软件比如3DStudio,Maya,等等。关于帧图像,现在的问题不是是否需要优化。而是怎样合理压缩帧图像的数据而使它仍然能保持预测的逼真度。因此我们一直在优化运行性能和保持帧图像逼真度上权衡利弊,希望能够做出合理的选择。
所以,关于现代实时3D图像什么应该做,什么不应该做,谁能够做出决定呢?这个问题的答案非常的复杂,而且涉及到很多不同团体,这真是没有任何底线的答案。因此我们开始从学术界和研究机构找答案。一直以来,关于边缘性3D图像概念和数学理论的论文都有发表。而且越来越多。游戏开发者由此挑选了一些学术论文,探索出快速而有效的方法去实现这些学术界专家的想法。同时他们一直试着去找一些有关边缘性3D图像的竞争公布给大众。以此来吸引人们的注意力。并且这些游戏开发者对于制作出完美的画面图像有着强烈的兴趣。他们希望用户能够通过画面体验一种全真的感受经历。同时硬件供应商也不得不考虑到该行业的方方面面。但是它们也有自己具体的中心领域。
NVIDIA 一直牢牢的盯住一些优秀游戏开发者的需求。并且试着给他们提供各种功能需要。当然,游戏开发者没有时间去写运行游戏硬件的代码。因此它们使用通用函数库来减轻这种负担。ATI已经尽了最大努力去尝试着弄明白怎样才能尽可能快的运行Microsoft的 DirectX API 。众所周知,ATI和NVIDIA两家公司都有优势和劣势之处。大多数情况下,ATI硬件运行OpenGL游戏,性能不如 NVIDIA 硬件出色。但是它运行DirectX 代码却更快。NVIDIA直接运行DX 可能会产生延迟。但是比起ATI,它们却提供了更多的特性给开发者,其中有更广泛DirectX 技术支持以及更具体 的OpenGL扩展,以便开发者利用。
当然关于API方面, OpenGL ARB 和微软 决定着提供什么样的工具给游戏开发者,ATI和NVIDIA决定着怎样在它们的硬件上运用这些工具。API工程师拥有如何限制工具运用过程的权利。但是游戏开发者和消费者的反馈却是硬件卖主实现功能方式的决定因素。关于最终将怎样影响该行业的一个最好的例子就是关于DX9 精度规范的例子。DX9精度原始草案要求每个像素点至少24比特的精度。ATI按照草案要求实施了每个像素点24比特浮点数(现在已经不存在这种方式),然而,NVIDIA决定采用更加接近IEEE 的单精度浮点数(虽然我们更愿意看到两家公司最终都遵从IEEE 754 )。
下面进一步详述这个例子的意义。两种方式都是有效的并且都有它们的优点和缺点。满精度方式在ATI硬件上将运行得更快,因为它不需要数据的移动,也不需要操作像NVIDIA硬件那么多的比特数。同时,对于运算法则的最大精度,是不需要24比特的精度的。而NVIDIA能够提供16比特的精度,因此,它的全部32比特也是不需要的。但是NVIDIA实施方式的缺点之一是它需要更多的晶体管,也更复杂,并且在没有成熟的编译器的情况下,很难预测它的运行特性。并且实现更强的柔韧性(不必更快)也需要一定付出一定的代价,因此,NVIDIA实现起来是更加复杂的。
因此,在决定整个实时3D图像发生过程涉及的因素有:硬件工程师,API工程师,3D图像理论,游戏开发者,和消费者,所以它是一个比“先有鸡还是先有蛋“更加复杂的问题,而最终感受到的东西是游戏开发者试图实现的视觉画面,他们受硬件性能的限制,只能在这些限制下工作开发。同时,所有的硬件卖主所能做的就是尽最大努力为游戏开发者提供高质量,性能更加出色的硬件。但是,即使这些问题解决了,最终的决定权还在于硬件和软件的消费者。消费者不断向游戏开发者和硬件卖主提出要求。以促使它们向前发展。