200901079 m •七、指定代表圖·· / (一)本案指定代表圖為:第(六)圖。 (二)本代表圖之元件符號簡單說明: 60-66依據本發明之電腦繪圖元素描繪方法之步驟 八、 本案若有化學式時,請揭示最能顯示發明特徵的化學式: 九、 發明說明: 【發明所屬之技術領域】 : 本發明係有關於一種電腦繪圖技術,特別是關於一種 附有使用者指定裁切平面(c 1 ipp i ng p 1 anes)之電腦繪圖 元素(primitive)描緣方法及裝置。 【先前技術】 電腦繪圖技術之基本動作在於描緣(rendering)三維 物體之二維影像以將其顯示或呈現於諸如陰極射線管 (Cathod Ray Tube ; CRT)或液晶顯示器(Liquid Crystal Display ; LCD)等顯示裝置或監視器上。被描繪之物體可 能是諸如點、線段、三角形、或多邊形等簡單幾何元素 (geometry primitive)。較為複雜之物體可藉由將其表示 為一連串彼此相連之平面多邊形,例如,藉由將其表示為 一連串彼此相連之平面三角形而被描繪於顯示裝置上。所 有幾何元素最終皆可以表示成單一頂點(vertex)或一群 頂點之集合,例如,定義一個點之座標(X,Y, Z),又例 如一線段之端點,或是一三角形之頂點。 200901079 » 為了產生用於將三維元素之二維投影顯示於電腦監 視器或其他顯示裝置之資料組,該元素之頂點須經由圖形 描緣管線(graphics-rendering pi pel ine)之一系列運算 或處理級(processing stages)處理。一般之管線不過是 一系列串聯之處理單元,或稱為級(stages),其前一級之 輸出作為後一級之輸入。在繪圖處理器之領域中,此等所 謂的π級”包含諸如頂點相關運算、元素組合運算、像素 , (pixel)運算、紋路組合運算、陣列 (rasterization)運算、以及碎形(fragment)運算。 典型的繪圖顯示系統,較為複雜之物體通常被描述成 包含許多稱為繪圖元素(primitives)之小多邊形,其覆芸 於該物體之表面就如同許多小磁磚覆蓋於牆面或其他表 面之上。每一多邊形被表示為一組頂點座標(模型座標系 中之X,Y,Z)並指明某些材料表面性質(意即,顏色、紋 路、/光澤等等)。對於具有複雜曲面之三維物體,前述多 k邊形-般而言必須是三角形或四邊形,其中後者永遠可以 分解為一對三角形。 一轉換引擎(transformation engine)參照使用者輸 亡所,定之視角轉換物體之座標。此外’使用者亦可以: 定視場(field of View)、產生影像之大小、和影像所在 區域後方之細節以依需要呈現或移除背景。 -旦此可見區域(viewing area)被選定,諸如裁剪窗 界(scissor window)之裁切邏輯(ciipping 即移除 位於可見區域外讀圖元素錢理部純於可見區域内 200901079 而部純於可見區域外之繪圖元素。緣圖元素之頂點隨之 被傳送至下一級,傳送之内容為每一頂點對應於螢幕 (V谓ing screen)之座標(以χ,γ座標之形式)和其相關 ,深度(Ζ座標)。典型之系統中,尚則進考慮到光源之 照明模型(lighting model),而後緣圖元素和其顏色值傳 达至諸如陣列器(rasteri zer)之像素内插模組或稱屬性 内插模組(Attribute Interpolation M〇dule)。 —對於每一緣圖元素,陣列器決定哪些像素位於此繪圖 π素之上並嘗試將其顏色值和深度(z值)寫入圖框緩衝器 (frame buffer)之内。陣列器將正被處理之繪圖元素中之 冰度(Z值)和像素之深度值做比較,該值可能已經寫入圖 框緩衝器。假如新繪圖元素像素之深度值較小,表示其位 於已寫入圖框缓衝器之繪圖元素前方,則其值將取代圖框 緩衝器内已有之數值,因為此新繪圖元素將會遮蔽先前處 理而已寫入圖框緩衝器之緣圖元素。此程序一直重複直到 所有緣圖元素均被描晝完成為止。此時,一視訊控制器將 圖框緩衝器之内容依描晝之順序逐條掃描線顯示於一顯 _示器上。 ‘ 介紹一般技術背景之後,以下參見第一圖,其顯示— 傳統之管線式電腦繪圖元素描繪裝置1〇〇之方塊圖。包含 缘圖元素PR和裁切邏輯CLog i c之輸入資料沿繪圖管線傳 送。繪圖元素PR可以包含其所在位置之資料(例如,表示 為Υ, Z二間座4示之頂點),而裁切邏輯cL〇gic則可以 包含預設之裁勇窗界和使用者指定之一或多個裁切平面 200901079 (dipping planeS)UDCP。裁剪窗界通常表示為上下左右
四個邊界值。裁切平面UDPP μ則可以表示成諸如
f(x,y,x)=ax+by+cz+d 之空間座椤 7 a , ^ L 函數,通常其將裁切或 移除缘圖元素PR中所有使得此⑼座標函數為負值之像 素或點,而僅允許顯示使得此空㈣正值之像素 或點。 上述輸入資訊首先進入頂點著色器(vertexshader) 102。頂點著色器102可以對繪圖元素pR之頂點資訊執行 各種轉換。例如,由真實世界座標(w〇rld coordinates) 轉換至模型視界座標(model view coordinates),再轉換 至投影座標(projection coordinates),最後轉換至營幕 座標(screen coordinates)。頂點著色器102之功能亦可 以包括計算或取得繪圖元素PR頂點之諸如顏色和透視校 正係數(perspective correction factor)等屬性值 (attributes)(圖中以VX_ATT表示頂點屬性值資料之集 合)。當輸入資料包含使用者指定之裁切平面UDCP時,頂 點著色器102亦可以計算繪圖元素PR之頂點對於該等裁 切平面UDCP之裁切判定距離(圖中以VXJHSc表示此等頂 點裁切判定距離之集合)。頂點座標代入裁切平面函數之 結果值通常可以做為裁切判定距離,當裁切判定距離為負 值時,表示此頂點被裁切而不應被顯示。反之,當裁切判 定距離為正值時,則保留此頂點。 像素内插模組106依據頂點著色器102之輸出以諸如 内插法之技術求出繪圖元素PR内部之所有像素ρχ和其屬 200901079 丨生值ΡΧ—ΑΤΤ,以及所有像素之裁切判定距離px_DISc。之 後,繪圖元素PR内之每一像素均於z值測試模組1〇8執 行Z值測试。所謂z值測試係指將目前之z值(意即繪圖 元素PR内一特定像素之深度值)和對應像素儲存於Z值緩 衝益(Z Buffer)之Z值做比較。儲存之2值提供先前描繪 疋素於特定像素位置之深度值。假如目前之z值相對於儲 值並未較接近目前之觀測點,則圖框緩衝器和z值 (j衝器均無須置換,因為先前描繪之像素於此被視為在目 鈉像素的如方。假如目前之z值之深度相對於儲存之z值 較接近觀測者之雙眼,則目前之z值將取代儲存之2值且 目前之繪圖資訊(例如顏色)將取代相對之圖框緩衝器中 像素位置之相對資訊(此係於像素著色器(pixel shader)ll〇判定)。z值測試模組1〇8將讀取z值緩衝器 中包含像素PX中通過Z值測試之像素ΡΧζ。對於繪圖元素 PR内被判定較先前儲存之像素更接近觀測點之像素,將伴 (.隨相關資訊傳送至像素著色器110,像素著色器110決定 t圖兀素PR内每一已被判定較接近目前觀測點之像素之 繪圖資訊。此外,傳統電腦繪圖元素描繪裝置100亦可以 包含一顏色讀取模組112 ,其讀取像素之顏色和透明度資 料並可以供繪圖元素PR背景呈現處理所使用。 對於附有使用者指疋之裁切平面之情形,傳統電腦緣 圖元素描繪裝置丨〇〇之設計係於像素著色器110參考通過 Z值測試之像素ΡΧζ並將裁切判定距離pxzJ)ISc為負值之 像素捨去而輸出一群實際描繪像素PXr。然繪圖元素找所 8 200901079 有像素之裁切判定距離於像素内插模組106其實已可完全 決疋由於傳統之Z值測試模組1 並未參照使用者指定 之裁十:平面及其相關資訊’其顯然將浪費許多計算和記憶 體頻九於裁切像素之z值測試運算。此外,傳統之像素内 模、、且106其只亦浪費了許多資源於求取繪圖元素pR内 所有像素之屬性值和其裁切判定距離。繪圖元素叩之某 些像素於屬性内插階段即可以捨去。 ” s基於前述傳統電腦繪圖元素描繪系統之缺失,其有必 ,提出改進以避免不必要之系統資源浪費和冗贅之運 算。且此等改良最好可以不改變傳統電腦_元素描缘裂 置個別核組之原有架構,又能達成增進整體效能之目的, 以使得變更設計之代價減到最小。 【發明内容】 一本發明提出一種附有使用者指定裁切平面之電腦鋒 圖兀素描繪方法,其相對於傳統技術可以避免不必曰 統賢源浪費和冗贅之運算。 ’、 —本毛明提出-種附有使用者財裁切平面之電腦轉 圖兀素描繪裝置,其在不大幅改變傳統技術個別模‘ 架構之前提下,達成增進系統整體效能之目的。 基於-實施例,本發明提出—種電麟圖元素舍 =其包錢收繪I素、裁切平面和預設裁剪窗界= 據弟-裁到窗界、裁切平面和繪圖元素頂點 決定第二裁剪窗界;自緣圖元素剔除-調整後之A 界範圍外之像素料定-群待_像 200901079 撝繪像素;以及顯示此群實際描 緣像素群之步驟包含自該群象素其中,^ 切準則之像素。 甘田、、會像素t移除符合一裁 基於另一實施例,本發明接 裝置,其包含頂點著色種電職圖元素描綠 模組::像素著色器。頂點著色器接收 辛間之丄::二據弟-裁剪窗界、裁切平面和繪圖元 【門=間_決定第二裁剪窗界;像素内 圖兀素剔除-調整後之裁剪窗界 、·曰 群待描嶋;而像素著色器藉由移除此:=二 中符合-裁卡刀準狀像I .、以_^除此群待“緣像素 至-像素顯示區。…群貫際描輯素並輸出 【實施方式】 k. 以下參見第二圖,其顯示依據本發明-實施例之電腦 緣圖元素描纷裝置200之方塊圖。電腦參會圖元辛描修裝置 200包含頂點著色器搬、裁剪窗界調整模組2⑽、料内 插模組206、2值測試模組勝像素著色器2iq和顏色讀 t模組212。以下配合相關圖式分別就電腦緣圖元素描綠 瓜置2 0 0各組成要件詳細說明其運作細節。
頂點著色器202可以接收綠圖元素pR、複數裁切平面 UDCPl-UDCPN和預設裁剪窗界(defauH wind〇w)DSW並決定繪圖元素PR各頂點之相關屬性值 VX—ATT,諸如顏色、紋理和透視校正係數(perspective 200901079 c町ectlon Factor)等。頂點著色器2〇2亦決定緣圖元素 PR各頂點相對於複數裁切平面υΐ)αν_Ν之裁切判定距 離VX_DISc。如前所述,當一頂點 此頂點為裁切平面UDCPi所移除。 ^剪窗界調整模組2G4依據預設裁剪窗界湖 f ::ί ⑽。首先,裁剪窗界調整模組204可以先 ^面界湖和1會圖元素PR各頂點相對於裁切 並產生笛 判定距離判崎圖元素找之裁切狀況, 亚產生-第一裁剪窗界⑽。接著 和繪圖元素PR夂頂a如m+人双界bWi 離,可甚吐〜_: 裁切平面⑽⑺之裁切判定距 產…裁剪窗,次,最後可 干W笪% 9 f P疋該新的裁男窗界。第三圖顯
不N荨於2而緣圖元素PR 驟產生之新裁剪窗界Ή么―㈣τ時依據两述步 切平面瓣2以及:丁、裁切平面_、裁 =之:向分別指出裁切平面U 圖:; 留之空間。推到最廣之情況,每一 =了2奴保 會依據一舊的裁剪窗界(例如 _ \生私序均 —裁剪窗界SW!)、竿—正 人仃4耘序時之第 關係決定一更新後;裁^=㈣^素PR間之空間 時之第二裁剪窗界卯2)。並V :二:弟-次執行此程序 第二次執行此料日的财窗界(例如, 弟—裁羿窗界》)係自預設裁剪窗 200901079 界_藉由之前的裁剪窗界產 ,設裁剪窗界_斤涵蓋。另-方面,Ή之ίίίΓ 生程序將從更新後之裁剪窗界(例如界產 時之第二«窗界SW2)導出前述之新/7;執仃^程序 新的裁f窗界SWn之範圍被前、十裁心界挪,且 行此程序 各頂點二:::二定::p贫窗界挪和_元㈣ 於❸科SUDGP之裁切判定距離之條件 周圖整裁辛剪ΡΓswa之範圍以產生另一裁剪窗界 右,’、日圖70素叩各頂點相對於裁切平面瓣
=離,意味_元㈣未被裁切平面UDCP 之二“1 裁男固界SWb之範圍可以設為等於裁剪窗界SWa ^圍。右各頂點之裁切判定輯均為負值,則表示綠圖 疋素PR完全被裁切平面UDCP所遮蔽,其將完全不被顯示 (此特殊情況’裁剪窗界SWb之範圍可以視為收斂成一個 點)。若各頂點之裁切判定距離包含正值和負值,則須進 一步決定裁切平面UDCP與繪圖元素PR周邊之交點,並配 合裁切判定距離為正值之頂點決定裁剪窗界SWb之範圍。 第四圖例示依據本發明一實施例之調整原裁剪窗界s職之 範+圍以產生另一裁剪窗界SWb之方法,其中裁剪窗界3脱 之範圍包含左側邊界SCiSS0r—丨、右侧邊界sciss〇r—『、 頂側邊界sciSsor_t和底側邊界sciss〇r_b。其於給定裁 切平面UDCP與繪圖元素pR周邊之交點以及裁切判定距離 為正值之頂點之條件下,將裁切平面UDCP與緣圖元素pr 12 200901079 周邊之交點以及裁切判定距離為正值之頂點視為一點集 合(步驟40),並分別決定此點集合中最大之水平(X)座標 值Xmax、最小之水平(X)座標值Xmin、最大之垂直(γ)座 標值Ymax以及最小之垂直(Y)座標值Ymin(步驟41至步驟 44)。接著,將裁剪窗界SWb之左側邊界設為xmin和 scissor_l之較大者,將裁剪窗界SWb之右側邊界設為 Xmax和scissor_r之較小者,將裁剪窗界SWb之了員侧邊界 設為Ymax和scissor_t之較小者,以及將裁剪窗界gwb 之底側邊界設為Ymin和scissor_b之較大者(步驟45至 流程步驟48) 〇 決定裁切平面UDCP與繪圖元素PR周邊之交點音味求 取裁切平面UDCP與繪圖元素PR每一邊界之交點。參見第 五圖’其例示決定一邊界EDGE和一裁切平面UDCP之交點 之方法。邊界EDGE表示為二頂點Vo(X〇,Y〇,心,ψ〇)和 Vi(Xi ’ Yi,Zi,Wi),其中Wo和Wi分別為頂點ν〇和vi 之透視校正係數,其可以於頂點著色器202中決定。假設 頂點Vo和Vi相對於裁切平面UDCP之裁切判定距離分別 為Do和Di ’則邊界EDGE和裁切平面UDCP之交點yx可以 利用公式 Vx=Vo+(Do/Wo)(Vi-V〇)/(Do/Wo-Di/Wi)求得。由 於Vx在裁切平面UDCP之上,故其裁切判定距離等於零。 裁切判定距離必須以透視校正係數修正之’方能内插出交 點Vx之正確座標。 回到第二圖。像素内插模組2〇6依據裁剪窗界調整模 組204調整後之新裁剪窗界SWN以諸如内插法之技術產生 13 200901079 一群待騎像素PXe、其㈣屬性值pXc—Αττ以及其相對 於裁切平面之裁_枝離pXe-驗。此群翻緣像素 基本上係產生自繪圖元素pR剔除此新裁剪窗界撕涵 盍祀圍外之像素。若情況係如第三圖所示之情形,則此群 待描緣像素PXe㈣位於圖中斜線區域之點。由第三圖之 例示顯然可知,相較於傳財式,#使用者指定之裁切平 ,依據本發明之方法使得待顯示之相元素之範圍縮小 時,其產生之待描緣像素PXc數目較少,故將節省求取立 相關屬性值之時間。同理’電腦緣圖元素描緣裝置後 續之組件Z值賴模組2G8、像素著色器21G和顏色讀取 模、、且212均係針對該群待描繪像素pXc做進一步處理(z值 測試模組m並執行z值賴使z值緩衝器包含待描緣像 素PXc中通過z值測試之像素PXcz),其耗用之系統資源 正比於待贿像素PXc之數目,故糾描緣像素阶數目 減沙,各杈組之運算時間和使用之記憶體頻寬均相對減 /之後,像素著色器210依據該群通過通過z值測試之 像素PXcz和其相tj·於肋平面之裁㈣定距離阶z j & 决疋群貫際描繪像素PXr,當該群待描繪像素pXcz數目 減少,則像素著色器210相對耗用之資源亦較少。2值測 試模組208和顏色讀取触212之細節運作和傳統方式相 同在此不予贅述。此點亦為本發明之一特色,其藉由一 獨立之裁剪窗界調整触2Q4之加人,在不大幅改變其他 权組之原有架構下’即達到提升電腦纟㈣元素描繪裝置效 能之目的。 14 200901079 :以上㈣可知’本發明亦揭示—種附有使用者指定 冗面:I會圖元素描繪方法。第六圖顯示依據本發 二 圖元素描緣方法。第六圖例示的方法 、H-個使用者指定裁切平面之情況,但本發明之範圍 顯然不限於此,本例示之簡化僅係為了方便說明。 以下說明第六圖例示之附有三個使用者裁切平面之 緣方法。首先參見步驟6〇,其接收複數個 =者裁切平面、預設裁剪窗界卿以及欲描緣之緣圖元 素u使用者裁切平面包含第一裁切平面uDcp!、第 :裁切平面瓣2和第三裁切平面跳h。如前所述,裁切 2可以表示為空間函數’故步驟60可以接收三個空間 = n(x,y,z)、F2(x,y,^F3(x,y,^_m :平面嶋、第二裁切平面跳p2和第三裁切平面鼠. 》驟60可以於第二圖所示之頂點著色器2⑽進行。 —接著參見步驟6卜63,其依據預設裁剪窗界膽、第 :裁切平面UDCPl和繪圖元素PR之空間關係決定一第 = =SW1’再依據第一裁剪窗界SW1、第二裁切平面UDCP2 =定—第二難窗界撕,復依 一裁男自界SW2、弟三裁切平面默?3和緣圖元素即 :二間關係決定一第三裁剪窗界SW3。以上6ι至63之任 —步驟均可以包含依據特定之空間關係決定一人,嬖 =,此點集合可以包含緣圖元素PR未被某裁切平面裁ς 頂點以及繪圖元素PR周邊與前述之某裁切平面之交 ”’、。之後即可運用諸如揭示於第四圖和其相關說明之方法 15 200901079 调整原裁剪窗界(例如步驟61之 ?之第一裁剪窗界,和步驟心々界:、步驟 _而產生-新的裁剪窗界 弟界_之 撕、步驟62之第:裁 〃 1之第一裁剪窗界 佘K cn,o、 ^固界SW2和步騾63之坌•共- 商界SW3)。步驟61至63可 3之弟二裁男 整模組204中完成。 弟一圖所不之裁剪窗界調 心Γ If,依據第三裁煎窗界娜和緣圖元辛 ⑼决疋-群待描緣像素,曰圃疋素 剪窗界SW3範圍外之圖疋素PR剔除第三裁 可以於第- ^ 像素以做為此群待描纷像素。步驟64 驟心之像素内插模組206中完成。而後於步 心m描轉素,此決定 之步驟句合自兮被/士, π @丨不抽.、,’日像素 傻夺“ f像料移除符合—裁切準則之 F1(x 半則τ以疋義為使侍任一空間函數 ^ X,y,2)或F3(x,y,ζ)為負值之點,則步驟 化“該群待騎像素中移除使得任—空間函數 (二y,z)」F2(x,y,幻或F3(x,y,z)為負值之像素。步驟 -2於弟二圖所示之像素著色器21G中完成。最後於步 私06顯示或呈現該群實際描繪像素。 由於空間函數之表示方法可以自由選擇(例如,其可 以自由選擇將f(X,Y,z)表示為aX+bY+cZ+d、aX+bY+cZ或 aX ^Y-cZ-d),故裁切準則亦可以定義為使得代表裁切平 ,之空,函數f(x,y,z)為正值之點,或是使得空間函數值 落入一热限開放區間(infinite 〇pen interval)之點。無 阼開放區間係j曰具有一開放端點(叩⑼end p〇丨)之無限 16 200901079 區間。例如,使得一函數為負值即表示使得該函數值落入 無限開放區間(-〇〇, 0)。習於斯藝者當能理解,若裁切準 則係定義為移除使得一空間函數值落入一無限開放區間 之點,例如(-〇〇,EP)(EP表示此區間之開放端點),則使 得該空間函數值落入另一無限開放區間(EP,⑺)之點將 會被保留,此二區間具有相同之開放端點且彼此沒有交 集。 以上實施例僅係可能之實作範例。許多變異或修改均 可在不脫離本揭示之原理下達成。該等變異或修改均應視 為在本揭示範疇之内而為所附之申請專利範圍所保護。 【圖式簡單說明】 第一圖顯示一傳統之管線式電腦繪圖元素描繪裝置 之方塊圖。 第二圖顯示依據本發明一實施例之電腦繪圖元素描 繪裝置之方塊圖。 第三圖顯示繪圖元素、各裁剪窗界和裁切平面間的關 係,此範例示範繪圖元素係三角形且裁切平面之數目等於 二之情形。 第四圖例示依據本發明一實施例之調整原裁剪窗界 之範圍以產生另一裁剪窗界之方法。 第五圖例示決定一邊界和一裁切平面之交點之方法。 第六圖顯示依據本發明一實施例之電腦繪圖元素描 緣方法。 17 200901079 【主要元件符號說明】 40-48依據本發明之裁剪窗界調整方法之步驟 60-66依據本發明之電腦繪圖元素描繪方法之步驟 100傳統管線式電腦繪圖元素描繪裝置 200本發明之管線式電腦繪圖元素描繪裝置 102/202頂點著色器 204裁剪窗界調整模組 106/206像素内插模組 108/208 Z值測試模組 110/210像素著色器 112/212顏色讀取模組 PR繪圖元素
Clogic裁切邏輯 VX_ATT頂點屬性值 VX_DISc頂點裁切判定距離 PX繪圖元素内部之所有像素 PX_ATT繪圖元素内部像素屬性值 PX_DISc繪圖元素内部像素之裁切判定距離 PXz繪圖元素内部通過Z值測試之像素 PXr實際描繪像素 PXc待描繪像素 PXc_ATT待描繪像素屬性值 PXc_DISc待描繪像素裁切判定距離 PXcz通過Z值測試之待描繪像素 18 200901079 DSW預設裁剪窗界 Swa調整前之裁剪窗界' SWb調整後之裁剪窗界 SWn新裁剪窗界 UDCP/UPCPi/UPCP?裁切平面 Vo/Vi繪圖元素頂點 Vx繪圖元素和裁切平面之交點 Wo/Wi透視校正係數 Xo/Xi空間水平座標 Yo/Yi空間垂直座標 Zo/Zi空間深度座標 T三角形繪圖元素 EDGE繪圖元素之邊木 19