1.把数据加载到显存中
所有渲染需要的数据都需要从硬盘(Hard Disk Drive,HDD)中加载到系统内存(Random Access Memory ,RAM)中。然后,网格和纹理等数据有被加载到显卡上的存储空间——显存(VRAM)中。这就是因为,显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权利。
需要注意的是,真实渲染中需要加载到显存中的数据往往比上图所显示的情况要复杂许多。例如,顶点的位置信息、法线方向、顶点颜色、纹理坐标等。
当把数据加载到显存中后,RAM中的数据就可以移除了。但对于一些数据来说,CPU仍然需要访问它们(例如,我对这类数据开了读写),那么我们可以能不希望这些数据被移除,因为从硬盘加载到内存的过程是十分耗时的。
在这之后开发者还需要通过CPU来设置渲染状态,从而“指导”GPU如果进行渲染工作。
2.设置渲染状态
什么是渲染状态呢?一个通俗易懂的解释就是,这些状态定义了场景中的网格是怎么被渲染的。例如,使用哪个顶点着色器