成语大全网 - 汉语词典 - buffer size是什么意思

buffer size是什么意思

Frame Buffer Size: (帧缓冲区大小) 存储空间,通常大于一个单独的信息区.

缓冲区都是离散的内存块。

由其空间分辨率(n x m)和深度(或精度,每个像素的位数)k确定。

各种缓冲区的空间分辨率一样,但深度值(即表示一个像素信息的字长)可以不一样.

通常我们只是集中在一个帧缓冲区组成部分中的一个缓冲区,因此有时就直接简称为缓冲区。

颜色缓冲区:内容要被输出到显示设备上的缓冲区,用于显示前、后、辅助、重叠(overlay)。

在双缓存中,颜色缓冲区由两个缓冲区组成,分别用于读与写,称为前缓冲区与后缓冲区。

如果要生成立体图像,需要提供左、右缓冲区、深度缓冲区、累加缓冲区、高分辨率缓冲区、模板缓冲区、保存掩码(masks)。

颜色缓冲区k确定可以表示的颜色多少。

通常在RGB模式中为24位,在RGBA模式中为32位。

深度缓冲区的k值确定深度的分辨率。

通常是32位,这样与浮点数或整数的精度匹配。

把缓冲区k个n x m平面中的任一个称为位平面(bitplane), 空间中特定位置处的k个元素构成一个像素(pixel)。

因此一个像素既可以是一个字节,也可以是一个整数,甚至是一个浮点数,具体与所用的缓冲区以及信息的存放格式有关。

应用程序通常并不知道在帧缓冲区中各种信息的存放方式。

帧缓冲区是在API的内部实现的,对用户而言它是一个黑盒子。

应用程序是通过API向帧缓冲区发送(写入)/接受(读出)信息。

此时在通常的内存与实现的缓冲区间传送的数据需要经过一定的格式转化。

这时需要仔细考虑数据传送的时间效率。

向缓冲区中写入内容。

在现代的计算机图形系统中,用户程序既可以向缓冲区中写入内容,也可以从中读出内容

下述因素使得这种操作与通常的读写内存操作不同。

很少情形下只想读写一个像素,而是读写一个矩形的像素块(位块,bit blocks)。

位块操作:

1)在填充多边形时每次光栅化一条扫描线。

2)当显示光栅字符时写一小块像素。

3)当进行清除操作时,改变缓冲区中所有像素的值。

4)需要在硬件和软件方面提供对位块进行尽可能有效操作的功能。

?称为位块传送(bit-block transfer, bitblt)操作,也称为光栅操作(raster operations, raster-ops)。

位块复制:

假设要把源缓冲区中的一块n×m像素复制到目标缓冲区中,那么进行这种操作的位块传送函数应当具有形式:write_block(source, n, m, x, y, destination, u, v);

OpenGL实现了单独的像素流水线。

提供了一组缓冲区:

1)数据可以在这些缓冲区之间传送,也可以在缓冲区与处理器内存间传送。

2)根据所用缓冲区的不同,可以在其中存储颜色索引、颜色分量和深度值等。

3)只有颜色缓冲区的内容可以显示在屏幕上。

光栅位置:

OpenGL维持了一个当前光栅位置,它是状态的一部分。

1)可看作在屏幕坐标系中定义的内部光标,指示光栅化像素写入的位置。

由glRasterPos*()设置:glRasterPos3f(x,y,z);

三个浮点数定义了一个光栅位置,在变换为屏幕坐标前要经过模型-视图变换和投影变换

光栅位置的属性。

它是一个几何实体,存储为四维齐次坐标要经过几何流水线的处理最终产生屏幕坐标上的一个二维位置,对像素或位的写入采用光栅单位(整数),像素中心位于两个整数的中间值

在帧缓冲区中这个位置就是接下来光栅化像素被绘制的地方。

如果光栅位置不在视景体内,就不进行像素写入操作,整个位图或像素矩形会被裁剪掉。

缓冲区的选择:

1)OpenGL可以向任何缓冲区中写入内容,或者从中读取内容。

2)默认的是后缓冲区。

3)可以用glDrawBuffer和glReadBuffer改变当前的读写缓冲区。

4)注意在帧缓冲区中像素的格式与它在处理器的内存中的格式是不同的。

流水线解释:

1)解包(unpack)是把像素从用户程序的格式转化为OpenGL内部所用的格式。

2)这些新像素可以通过用户定义的查找表映射到新值。

3)所得结果经过一系列测试后确定是否有必要把像素写到帧缓冲区中;如果可以写入,那么写入的方式是什么。例如,可以划出一块区域,里面不绘制任何内容;或者利用逻辑操作确定如何把像素与帧缓冲区中已有数据组合在一起。

4)从帧缓冲区中把信息读取到处理器内存,需要进行打包(pack):即从OpenGL内部格式转化为程序可用的格式。