VTK 的渲染管線包括可視化管線和渲染引擎兩個部分瞧省,其中可視化管線主要負(fù)責(zé)讀取和生成數(shù)據(jù)硼一,也就是負(fù)責(zé)處理上節(jié)所描述的各種數(shù)據(jù)結(jié)構(gòu)累澡。渲染引擎則是把可視化管線所得到的數(shù)據(jù)渲染成窗口中一個個對象顯示在用戶的面前。
除了 filter 之外般贼,其他所有的部分都是形成可視化系統(tǒng)必不可少的愧哟,下面逐個說明這些對象的功能作用。
(1)Source:數(shù)據(jù)源哼蛆,通過 VTK 的 IO 系統(tǒng)讀入的數(shù)據(jù)源對象蕊梧,或者自己創(chuàng)建的數(shù)據(jù)源對象
(2)Filter:對于初始數(shù)據(jù)源進行一些處理,也封裝了一些圖形學(xué)算法腮介。比方說vtkSmoothPolyDataFilter 平 滑 網(wǎng) 格 肥矢, vtkClipPolyData 裁 剪 數(shù) 據(jù) ,vtkExtractUnstructuredGrid 提取局部網(wǎng)格叠洗。如果不需要進行數(shù)據(jù)的處理甘改,可以跳過這一步,直接進入下一層灭抑。
(3)Mapper:將輸入數(shù)據(jù)轉(zhuǎn)化成幾何圖元(點十艾、線、多邊形)進行渲染腾节。指定渲染數(shù)據(jù)和圖形庫中基本圖元的關(guān)系忘嫉。這一層包括設(shè)置一個顏色映射表(lookuptable)完成數(shù)據(jù)值映射到顏色,也是本文進行標(biāo)量場可視化的一個關(guān)鍵技術(shù)禀倔。
(4)Actor:渲染窗口渲染的對象榄融,窗口中每一個具體需要渲染的對象都是一個actor,可以通過 actor 這一層的方法來設(shè)置對象的表面屬性救湖、顏色愧杯、透明度、紋理等鞋既。
(5)Renderer:負(fù)責(zé)場景的渲染過程力九。這一層的方法包括設(shè)置相機耍铜,光照等屬性。
(6)RenderWindow:將操作系統(tǒng)和 VTK 渲染引擎連在一起跌前,將場景渲染在設(shè)備的窗口之中棕兼。