一,Blit的概念
Blit是一种计算机图形学中常用的数据操作,基础原理是使多个位图通过布尔函数(boolean function)组合成一个新位图。在U3D中,常说的Blit其实是渲染后期的一个概念,它将摄像机渲染好的一个图的所有像素点,通过各种形式的运算,然后重新绘制到屏幕。这种达到后期效果的过程,就称之为Blitting。该操作涉及至少两个位图,一个是源和目的地,可能是第三个位图,通常被称为“掩码”,有时是第四个位图,用于创建模版。每个像素均根据指定的光栅运算(ROP)按位组合,然后将结果写入目标。ROP本质上是一个布尔公式。最明显的ROP用源覆盖目标。其他ROP可能涉及AND、OR、XOR和NOT运算。
此外,Blitting也用于拷贝图像数据的过程,例如当两个Surface有相同的大小、颜色深度和像素格式时,可以通过Blitting将其中一个Surface的内容复制到另一个Surface中。在这个过程中,内存只被复制而没有被处理(就像复制其他任何类型的数据一样)。
Screen提供了原生渲染API,它使用硬件blitter将数据从一个内存区域移动到另一个内存区域,而无需涉及CPU。
图形处理需要大量的内存管理和内存区域移动。为了有效地完成这项工作,通常需要支持位块处理器的硬件元素。位块处理器知道不同的显示格式和可用的内存布局,因此它不是移动字节&#