帧缓存值的装载
实现线段和其他对象显示函数的最后一步工作是设定帧缓存的颜色值。由于扫描转换算法以连续的单位间隔生成像素位置,因此扫描转换算法可使用增量方法在每一步高效地存取帧缓存。
作为一个特殊的例子,假设帧缓存矩阵是以行为主要顺序进行编址,并且像素位置从屏幕左上方((0,0)变化到屏幕右上方气(xmax,ymax)(参见图3.14)。对于二级系统(每个像素1位),像素位置(x,
y)的帧缓存位地址可以这样计算:
沿扫描线移动,像素(x+l, y)处的帧缓存地址可以根据位置(x, y)的地址偏移进行计算:
从(x, y)按对角线方向转移到下一条扫描线,那么(x+l, y+l)的帧缓存地址的算式为
其中,常数xmxa+2对于所有线段只需计算一次。同样,从等式(3.23)中可以得到屏幕x和y负方向单位步长的增量计算。这种地址计算仅包含一个整数加法。
实现存储像素亮度值的setPixel程序的方法,取决于特定系统的能力以及软件包的设计需求。对于能为每个像素显示一定范围亮度值的系统,帧缓存地址的计算包括像素宽度(位数)以及像素屏幕位置。
时间: 2024-10-27 17:42:04