青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

傳說這就是AGG:

agg

要理解這張圖上的幾個(gè)概念:

*vertex source: 頂點(diǎn)源。一切的圖像的世界是由點(diǎn)構(gòu)成的。

*cordinate conversion pipeline: 坐標(biāo)轉(zhuǎn)換管道。不用自己去擔(dān)心各種坐標(biāo)系?

*scanline rasterizer: 光柵化,把頂點(diǎn)數(shù)據(jù)處理合成一組組線段,這里可能會(huì)有一些fix或者effect。

*renderers: 渲染器

*rendering buffer: 用于存放像素點(diǎn)的內(nèi)存

我的理解是這樣:圖像是以點(diǎn)集的方式存在的,要畫圖先是沖一組點(diǎn)集開始,先把這一組點(diǎn)的坐標(biāo)轉(zhuǎn)換成目標(biāo)坐標(biāo),然后通過光柵化形成一組線段,然后通過渲染器把這一組線段渲染到buffer上面形成面。點(diǎn)->線段->面

*****************************************************************************************************

一、vertex source

 

我理解它是一個(gè)concept,官方解釋是這個(gè):

    所有實(shí)現(xiàn)了void rewind(unsigned path_id);和unsigned vertex(double* x, double* y);的類。

agg提供的vertex source concept如下(可以自己擴(kuò)展):

ellipse 圓

arc 弧線

curve3 curve4 貝塞爾曲線

gsv_text AGG自帶字模的文字輸出(只支持ASCII碼)

gsv_text_outline<>  可變換文字,輸入為gsv_text和變換矩陣

rounded_rect  圓角方形

path_storage 路徑存儲(chǔ)器,可以用join_path方法加入多個(gè)頂點(diǎn)源。

arrowhead  箭頭

 

二、coordinate conversion pipeline

    坐標(biāo)轉(zhuǎn)換管道用于改變頂點(diǎn)源產(chǎn)生的頂點(diǎn),包括坐標(biāo)、命令、產(chǎn)生新頂點(diǎn)等。如對頂點(diǎn)進(jìn)行矩陣變換、插入頂點(diǎn)形成虛線之類的功能。

1.變化矩陣 trans_affine

頭文件:#include <agg_trans_affine.h>

接口:scale 縮放、rotate旋轉(zhuǎn)、translate平移、矩陣*乘法、invert取反矩陣

2.坐標(biāo)轉(zhuǎn)換管道

template<class VertexSource, class Markers = null_markers> struct conv_stroke;

變成連續(xù)線 構(gòu)造參數(shù)為VertexSource width屬性決定線寬。

template<class VertexSource, class Markers = null_markers> struct conv_dash;

虛線

template<class MarkerLocator, class MarkerShapes> class conv_marker;

建立標(biāo)記

template<class VertexSource> struct conv_contour;

輪廓變換

template<class VertexSource> struct conv_smooth_poly1_curve;

圓滑過渡多邊形各頂點(diǎn)

template<class VertexSource> struct conv_bspline;

圓滑過渡多義線各頂點(diǎn)

template<class VertexSource, class Curve3 = curve3, class Curve4 = curve4> class conv_curve;

可識(shí)別VertexSource中的曲線信息

template<class VertexSource, class Transformer = trans_affine> class conv_transform;

矩陣變換 用變換矩陣重新計(jì)算頂點(diǎn)位置

 

三、scanline rasterizer

1.scanline

掃描線是一種保存span的容器,span用于表示一小條(水平方向)細(xì)線。圖像中同一行的span組成一個(gè)Scanline

2.rasterizer

Rasterizer就是把相當(dāng)于矢量數(shù)據(jù)的一堆頂點(diǎn)和命令轉(zhuǎn)換成一行行的掃描線的設(shè)備,它就象粉刷工人對照著圖紙把彩漆刷到墻上一樣

 

四、renderers

    渲染器負(fù)責(zé)表現(xiàn)掃描線Scanline中的每個(gè)線段(span)。在渲染器之前,AGG圖形中的線段是沒有顏色值的,只是位置、長度和覆蓋率(透明度)。渲染器賦于線段色彩,最終成為一幅完整的圖像。

    渲染器被分成底中高三層。其中底層負(fù)責(zé)像素包裝,由PixelFormat Renderer實(shí)現(xiàn);中層是基礎(chǔ)層,在PixelFormat Renderer的基礎(chǔ)上提供更多方法,是所有高層渲染器依賴的基礎(chǔ),由Base Renderer實(shí)現(xiàn);高層負(fù)責(zé)渲染Scanline中的線段,由Scanline Renderer等實(shí)現(xiàn)。

 

五、rendering buffer

Rendering Buffer是一個(gè)內(nèi)存塊,用于保存圖像數(shù)據(jù)。這是AGG與顯示器之間的橋梁,我們要顯示AGG圖形實(shí)際上就是識(shí)別這個(gè)內(nèi)存塊并使用系統(tǒng)的API顯示出來 而已(實(shí)際上幾乎不需要做轉(zhuǎn)換工作,因?yàn)闊o論是Windows還是Linux,API所用的圖像存儲(chǔ)格式與Rendering Buffer都是兼容的)。

 

差不多了,其他的東東現(xiàn)在看多了白搭,俺們要在戰(zhàn)斗中學(xué)會(huì)戰(zhàn)斗,,,

posted on 2012-09-10 16:36 Enic 閱讀(285) 評論(0)  編輯 收藏 引用 所屬分類: agg

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品久久久久久久99水蜜桃 | 久久久久久午夜| 国产亚洲成av人片在线观看桃| 午夜在线电影亚洲一区| 久久理论片午夜琪琪电影网| 亚洲二区视频| 欧美日韩一区在线| 午夜视频一区二区| 欧美h视频在线| 一区二区国产在线观看| 国产毛片精品国产一区二区三区| 欧美一区二区三区日韩视频| 亚洲第一级黄色片| 亚洲一区亚洲二区| 国内揄拍国内精品久久| 欧美日韩成人| 欧美一区二区三区在| 欧美激情亚洲精品| 欧美亚洲色图校园春色| 亚洲欧洲另类国产综合| 国产精品视频导航| 美女主播精品视频一二三四| 亚洲调教视频在线观看| 欧美成年人网| 欧美在线视频免费播放| 亚洲精品乱码久久久久久久久 | 在线观看日韩国产| 国产精品爱久久久久久久| 久久精品国产2020观看福利| 99re6这里只有精品| 久久久精品日韩| 亚洲香蕉成视频在线观看| 在线观看欧美视频| 国产精品午夜电影| 欧美日本不卡| 久久伊人亚洲| 欧美一区二区观看视频| 一本色道久久88综合日韩精品| 麻豆国产精品va在线观看不卡| 亚洲一区免费网站| 亚洲伦理网站| 亚洲动漫精品| 国产综合香蕉五月婷在线| 欧美网站在线观看| 欧美激情国产高清| 看片网站欧美日韩| 久久精品亚洲乱码伦伦中文| 亚洲图片你懂的| 日韩视频一区二区在线观看| 欧美激情视频在线播放| 巨乳诱惑日韩免费av| 欧美在线观看一区二区| 亚洲欧美一区二区在线观看| 日韩写真在线| 亚洲精品自在久久| 91久久精品国产91久久| 亚洲高清色综合| 精品电影在线观看| 韩日精品在线| 国产一区二区三区自拍| 国产亚洲精品自拍| 国产亚洲精品成人av久久ww| 国产日韩欧美麻豆| 国产日韩精品视频一区| 国产日韩精品视频一区二区三区| 国产精品久久一区主播| 国产精品日韩欧美| 国产精品视频免费在线观看| 国产精品区一区二区三| 国产精品美女久久| 国产伦精品免费视频| 国产美女精品视频免费观看| 国产精品青草综合久久久久99| 国产精品美女视频网站| 国产精品夜夜嗨| 国产一区二区三区丝袜| 经典三级久久| 最新69国产成人精品视频免费| 亚洲激情网站免费观看| 亚洲精品欧美| 亚洲视频在线播放| 欧美一区二区高清| 久久综合电影| 亚洲高清在线| 一区二区三区高清在线观看| 亚洲午夜三级在线| 久久成人18免费网站| 免费日韩成人| 欧美午夜片在线免费观看| 国产麻豆综合| 亚洲国产精品久久91精品| 99re在线精品| 欧美一区二区日韩| 欧美成人一区二区三区片免费 | 一区二区福利| 欧美在线地址| 免费中文日韩| 国产精品国产三级国产专区53 | 亚洲尤物在线| 久久天天躁狠狠躁夜夜av| 亚洲电影av| 亚洲一区亚洲| 欧美1区2区| 国产精品亚洲第一区在线暖暖韩国| 国产自产v一区二区三区c| 亚洲欧洲日韩综合二区| 亚洲综合欧美日韩| 免费在线观看成人av| 一区二区av在线| 久久噜噜亚洲综合| 国产精品黄视频| 亚洲高清不卡在线| 欧美一区二区三区男人的天堂| 女生裸体视频一区二区三区| 一区二区电影免费在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩麻豆| 亚洲福利小视频| 欧美一区二区三区视频| 亚洲激情网站| 久久国产手机看片| 国产精品久久波多野结衣| 亚洲国产网站| 久久精品国产精品亚洲精品| 亚洲精品午夜| 卡一卡二国产精品| 国产欧美日韩另类视频免费观看| 日韩视频不卡| 男女激情视频一区| 性视频1819p久久| 欧美午夜久久久| 999亚洲国产精| 免费在线日韩av| 欧美一区二区视频网站| 国产精品久久久久9999| 一区二区国产日产| 亚洲国产成人在线视频| 久久久成人网| 国产一区二区视频在线观看| 亚洲欧美日韩中文在线制服| 亚洲三级影院| 欧美激情欧美狂野欧美精品| 影音先锋一区| 蜜桃伊人久久| 久久久亚洲国产天美传媒修理工 | 在线亚洲自拍| 亚洲国产女人aaa毛片在线| 久久久久这里只有精品| 国产日韩欧美日韩| 欧美一区二区三区日韩视频| 正在播放欧美视频| 欧美日韩综合在线| 亚洲小说欧美另类社区| 日韩视频永久免费| 欧美日韩成人在线观看| 99热免费精品| 亚洲免费观看视频| 欧美日韩一区二区欧美激情 | 美女免费视频一区| 久久久精彩视频| 黄网站免费久久| 麻豆9191精品国产| 久久综合伊人77777麻豆| 亚洲国产精品激情在线观看| 模特精品在线| 欧美黑人国产人伦爽爽爽| 亚洲精品乱码| 国产一区二区看久久| 久久免费视频在线| 欧美一区二区三区免费观看视频| 欧美激情按摩| 欧美精品电影| 亚洲一区精品电影| 亚洲欧美日韩国产一区二区三区 | 欧美视频在线观看一区二区| 99视频在线精品国自产拍免费观看| 亚洲国产成人久久| 欧美日韩一本到| 欧美一级黄色网| 久久久蜜桃精品| 亚洲日本成人在线观看| 99精品国产在热久久| 国产精品影片在线观看| 玖玖精品视频| 欧美—级高清免费播放| 亚洲欧美日韩另类| 久久久久久国产精品一区| 亚洲激情在线视频| 一本一本久久a久久精品综合麻豆| 国产精品免费观看在线| 噜噜噜在线观看免费视频日韩| 欧美成人免费一级人片100| 亚洲一区二区三区在线看| 欧美一级在线亚洲天堂| 亚洲精品裸体| 亚洲一区一卡| 亚洲精品乱码久久久久| 亚洲自拍偷拍福利| 在线电影国产精品| 一区二区三区导航|