博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AGG第九课 agg::rendering_buffer 渲染缓存
阅读量:7260 次
发布时间:2019-06-29

本文共 722 字,大约阅读时间需要 2 分钟。

介绍

这是一块保存了图形的像素点的内存,这是一块即将显示到界面的图形。这块内存保存了图形的像素点的颜色。在这里记录了每一个点的颜色。这是AGG与显示器之间的桥梁,把这块内存看成是一个二维的空间数组,就直接映射到显示器上的,内存的每一行的点,都对应屏幕上的位置点。我们要显示AGG图形实际上就是识别这个内存块并使用系统的API显示出来。(实际上不需要做任何的转换工作,因为无论是windows还是LinuxAPI所用的图像存储格式与Rendering Buffer都是兼容的)。

1.1 PPM介绍

我们先从这里开始:在内存中开辟一块存储区,然后将它的内容以最简单的光栅格式写到文件中,也就是PPMPortable Pixel Map)格式。虽然 Windows 对这种格式并没有原生的支持,但很多图像浏览器和转换器都能使用这种格式,比如 IrfanViewwww.irfanview.com)。所有 AGG 的控制台例子都使用了 P6 256 格式,也就是RGB,每个字节代码一个颜色。现在假设我们将在下图所示的 RGB-buffer 内存区中工作:                          

2应用

她提供了提供了访问渲染缓存中的每一行每一个字节颜色的接口。只要我们知道我们显示图片的每一点的颜色值,我们几乎不需要任何其他的画线,绘制图形的类。

版本更新

以前:unsigned char* p = rbuf.row(i);

现在:unsigned char* p = rbuf.row_ptr(i);

     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1961278,如需转载请自行联系原作者
你可能感兴趣的文章
逐步创建Data Guard
查看>>
OpenStack icehouse系列之计算节点搭建
查看>>
Juniper 重置设备到出厂缺省设置
查看>>
todo:DSB and ISB
查看>>
BGP选路进程
查看>>
Nginx + PHP/PHP-FPM安装配置示例
查看>>
Linux学习笔记之三
查看>>
HttpRunner环境部署-踩坑篇
查看>>
关于mysql的ddl_log.log文件
查看>>
修改CMD设置使其支持鼠标选择复制
查看>>
hexo 博客支持PWA和压缩博文
查看>>
写给MongoDB开发者的50条建议Tip6
查看>>
swift UI专项训练4 场景过渡-转场
查看>>
vmware vms migration to openstack
查看>>
oralce dubugs
查看>>
Linux常用命令——tar
查看>>
渗透攻击(NT/2000系统)
查看>>
C#基础面试题(学习总结)
查看>>
【编程之外】为什么我们要写技术博客?
查看>>
网站快速开发平台
查看>>