1. 程式人生 > >AGG源碼命名規則

AGG源碼命名規則

agg

vvertex的縮寫,ggenerator的縮寫。

1 agg_vcgen_xxxx

歷史從agg_gen_xxxxagg_cgen_xxxxagg_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源碼命名規則