1.1、3D渲染
图形处理单元(GPU)就是能够结合几何、颜色、灯光和其他数据而产生一个屏幕 图像的硬件组件。屏幕只有2维,因此显示3D数据的技巧就在于产生能够迷惑眼睛使 其看到丢失的第3维的一个图像,参见图1-1中的例子。
用3D数据生成一个2D图像的过程就叫渲染。在计算机上显示的图片是由矩形 的颜色点组成的,这些矩形的颜色点叫做像素。图1-2放大了图像中的一部分来显示单独的像素。如果通过放大镜仔细观察显示器,你会看到每个像素都是由3个颜色元 素组成的,即一个红点、一个绿点和一个蓝点。图1-2还显示了一个进一步放大的像 素来描述单独颜色的元素。在一个全彩色的显示器上,一个像素通常含有红、绿、蓝 3个元素,但这些元素的排列样式可能与图1-2中显示的一个挨-个的排列方式不同。

图 1-1 用3D数据生成的一个示例图像

图 1-2 图像是由像素构成的,每个像素有红、绿、蓝3个元素
图像是以每个像素至少包含3个值的- .个数组存储在电脑的存储器中的。第-个值指定了像素的红色元素的强度,第二个值代表绿色强度,第三个值是蓝色强度。一个包含10000个像素的图像能够以一个拥有30000个强度值的数组的形式存储在存储器中,像素的3个元素每个需要一个值。以不同的强度结合红绿蓝3个值就足以产生彩虹的所有颜色。如果3个元素的强度都是0,结果颜色就是黑色。如果3个颜色都是强度的最大值,结果颜色就是白色。黄色是通过丢掉蓝色并混合红色和绿色得到的。图1-3中的MacOSX标准颜色面板用户界面包含能够调节相关的红、绿、蓝强度的图像滑块。
渲染3D数据为-个2D图像通常发生在几个不同的步骤中,包括设置图像中的每个像素的红、绿、蓝颜色强度的计算。总的来说,本书会讲解怎么让程序在渲染过程的每-步中尽可能地利用好OpenGL ES和图形硬件。第-步是为GPU提供要处理的 3D数据。

图 1-3