我一直都是认为agg::conv_stroke保存了线段的端点的形状,线段的宽度,并没有具体
分清楚,为什么顶点源需要传递给agg::conv_stroke(如果不传递给agg::conv_stroke
会怎么样),然后agg::conv_stroke实例又传递给agg::scanline_rasterizer,现在明
白了一些:传递给agg::scanline_rasterizer是构建成一组水平的扫描线,而在上面的
stroke只是添加了一些标志可以在这里引入agg::conv_term而在这里实际上就是线段,
但是没有颜色,
scanline_bin,scanline32_bin 不携带AA信息的span容器。scanline32_bin中的32代表坐标位数,一般16位已经足
够了,所以前一版 本用得更多些(下同)
scanline_u8,scanline32_u8 unpacked版的span容器,用每个span来保存各自的线段信息
scanline_p8,scanline32_p8 packed版的span容器,相同属性的span会合并成一个
我们从来不找到AA是什么,
template<class> class renderer_scanline_aa_solid; //实色AA渲染
template<class> class renderer_scanline_bin_solid; //实色原始渲染
render_scanlines_aa_solid、render_scanlines_aa、 render_scanlines_bin_solid、render_scanlines_bin
这么一堆的函数该如何使用的问题,如果我们下载了source-forge上agg2的代码发现根本就没有
render_scanlines_aa_solid函数,我们不清楚,源代码是如何处理,
我们没有办法找到agg::pixfmt_bgra32,
我们一直都是认为怎么会突然冒出triangle原来是后来的介绍文章自己封装了
一个三角形的类。
typedef agg::pixfmt_bgra32 pixfmt;
我们可以搜索到agg::pixfmt_bgra32,但是针对用法,或许了解32更为有效