AGG源码命名规则
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AGG源码命名规则相关的知识,希望对你有一定的参考价值。
v是vertex的缩写,g是generator的缩写。
1 agg_vcgen_xxxx
历史从agg_gen_xxxx到agg_cgen_xxxx到agg_vcgen_xxxx
“vcgen”是”VertexaccCumulating Generators”的缩写
2 agg_vpgen_xxxxx
"vpgen" 是"Vertex Pass-through Generator"的缩写
3 其他的命名
affine_matrix à trans_affine
viewport àtrans_viewport
4 邮件记录
I also would like to rename some classesand files, particulary agg_gen_xxxx to
agg_cgen_xxxx (where ‘c‘ refers to"Cumulating" generators), there‘re also will
be agg_pgen_xxxxx refering to"Pass-through" generators. First ones acculumate
vertices of the whole contour (not path)before generating the path, the last
ones are fed with vertices and then askedto produce some other vertices on
demand. A typical example of thePass-through generator is Liang-Barski polygon
clipper.
Also, for the sake of consistency I‘d liketo rename affine_matrix to
trans_affine, because there are trans_perspective,trans_bilinear, and
trans_warp_magnifier.
>
> > Or just:
> >
> > agg::rasterizer_fill
> > agg::rasterizer_fill_aa
> > agg::rasterizer_line
> > agg::rasterizer_line_aa
> >
> > It‘s shorter but maybe a bit less clear.
>
> If you want to fit the PostScript naming, maybe you could use:
>
> agg::rasterizer_fill...
> agg::rasterizer_stroke...
I like these also.
>
> > So, what is your vote: solid/outline, scanline/outline
> > of fill/line?
>
My preference in order would be:
1) rasterizer_fill/stroke
2) rasterizer_fill/line
rendering buffer (frame buffer 我们可以理解为显存)存储一块连续的内存区域,不知道自身具体存储
内容的结构,只按照行的长度,向外提供行指针,有宽、高、步长属性。
spanrender 水平区段绘制器,用于绘制scanline中的段,与rendering buffer直接交互,将scanline的内
容映射到显存中。
outline 轮廓线,将矢量数据转化为点阵格式 rasterizer内部类。
scanline将点阵格式的点集合,转化成为renderer使用的水平区段。
renderer将点阵数据填上颜色放入显存中
rasterizer栅格器,用于转化上层的矢量数据到栅格集合中。
Vectortransitions 矢量变化,一个复杂的集合对应着n多convs 对点集合的操作。
cw(clockwise):顺时针
ccw( counter-clockwise):逆时针
flip_y翻转y轴,来自于某些操作系统对于渲染缓存的y轴坐标的方向问题(windows,BeOS系统)
6)
premultiplied pre是预先的意思,而multiply是乘法的意思,按照字面上的理解就是预先乘以,简称预乘,对于一些图片虽然提供了alpha通道的值,但是所有的RGB分量都是已经乘以alpha通道得到的值,这样子,就可以在进行图片的叠加显示(专业术语是混合),减少了一道工序。
以前 color = alpha*A+(1-alpha)*B
现在 color = A * (1-alpha)*B
以上是关于AGG源码命名规则的主要内容,如果未能解决你的问题,请参考以下文章