如何计算Framebuffer音高?

时间:2013-12-12 10:37:14

标签: c++ c opengl opengl-es

我有一个UI应用程序,它将输出分别渲染到16,24或32 bpp的屏幕外帧缓冲区。

我需要计算音高,我的理解是音高是一条扫描线中的字节数,是否等于screenx * bitsperpixel?虽然显然它没有产生正确的结果。

我们可以使用公式(通用)来计算音高吗?

1 个答案:

答案 0 :(得分:5)

根据this

  

视频ram中的缓冲区通常具有与它们相关联的步幅(也称为音高)。步幅是缓冲区的宽度,以字节

表示      

例如,如果你有一个16位/像素(2字节/像素)的1024x768像素缓冲区,你的步幅将是:

     

1024像素* 2字节/像素= 2048字节

因此计算它的通用方法是:buffer_width * bytes_per_pixel

然而,重要的是要注意,对于平铺渲染器,帧缓冲区在内存中不是线性的,因此我认为间距是平铺的宽度(我无法找到确认这一点的源)。