既然你拿起了这本书开始阅读,我相信在我用术语3D图像的时候你至少有一个大概的概念。但是为了让你清楚明白,我们还需正式一点,过一下定义。这是维基百科上的解释:
3D计算机图形图像是相对于2D来说的。存储在计算机内用于执行运算和渲染2D图像的几何数据(常指笛卡尔)使用3维呈现出来的图像就叫做3D计算机图形图像。这些图像可以被存储用于后续展示或者实时呈现。
让我们分解一下:1)数据被呈现在一个3D坐标系统上;2)最终还是被渲染成了一张2D图像,比如说渲染在了电脑显示器上;3)可以实时展示:当3D数据在动画或者被用户操作的时候,被渲染的图像要无明显延迟。这一点是创建交互应用的关键点。实际上,这一点太重要了,以至于其催生了一个专注于研究支持实时3D渲染的图形硬件的数万亿的产业,这其中有几个龙头企业,你一定听过,NVIDIA,ATI和Qualcomm。
这定义提到的内容很重要,但有一点它没提到的也同样重要:3D图形图像不需要特制的输入设备,比如说轨迹球或者摇杆,尽管这些东西可以大大增强3D体验。它也不需要特制的显示硬件:不需要立体眼镜,不需要花钱跑去全天域剧场。3D图像更多的时候是被展示在一个平的2D屏幕上。这并不是说3D不能被立体展示,不能通过特制眼镜观看,不能呈现在立体TV上,只是说这些设备并不是必须的。
3D程序开发要求传统的web开发者学习新的技能和知识。只需掌握一点入门知识和正确的工具,我们的学习过程将是非常快的。这章余下的内容致力于帮我们理解最基本的3D程序概念,这些概念将在本书中贯穿使用。本章余下的内容并不够详细的,但是这些介绍足够你很好的开始,我们将在全书更加细致地学习这些主题。如果你已经具有了3D编程的经验了,你可以直接跳到第二章。