TWI470577B - 重疊物件的繪製方法及裝置 - Google Patents
重疊物件的繪製方法及裝置 Download PDFInfo
- Publication number
- TWI470577B TWI470577B TW101117993A TW101117993A TWI470577B TW I470577 B TWI470577 B TW I470577B TW 101117993 A TW101117993 A TW 101117993A TW 101117993 A TW101117993 A TW 101117993A TW I470577 B TWI470577 B TW I470577B
- Authority
- TW
- Taiwan
- Prior art keywords
- overlapping
- objects
- target
- string
- source
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
本發明是有關於一種繪圖方法及裝置,且特別是有關於一種重疊物件的繪製方法及裝置。
隨著計算機技術的日新月異,電腦已成為現代人日常生活中不可或缺的電子產品,而隨著軟體技術的不斷創新,人們對於電腦的使用要求除了速度與功能外,也逐漸重視起畫面的品質。而為了吸引使用者的目光,電腦軟體的製造商除了致力開發更新穎的功能外,也製作出更精美的操作介面,藉以提供使用者一個賞心悅目的操作環境。
習知的電腦在開機進入作業系統之後,即會顯示作業系統的操作介面。藉由此操作介面,使用者可自由設定桌面的樣式,也可選擇應用程式以執行所欲操作的功能。這些被開啟的應用程式一般是以視窗的形式顯示在桌面上,讓使用者可藉由點選不同視窗而在應用程式之間切換。
由於電腦螢幕的顯示空間有限,當使用者開啟多個視窗之後,這些視窗勢必得重疊顯示,才能全部納入螢幕的顯示範圍中。這些視窗會依照使用者開啟或使用的順序,以層層覆蓋的方式顯示在螢幕中,其中,最近使用的視窗會顯示在其他視窗之上,並覆蓋住其他視窗。此時,使用者將無法在桌面上看到被此視窗覆蓋的其他視窗的內容。
對於上述重疊視窗的繪製,目前的繪圖技術係將這些
視窗以多個圖層的方式進行管理,利用電腦繪圖引擎中的多個管線(pipeline)分別繪製不同圖層的物件,並對圖層的重疊部分採用半透明(alpha-blending)的方式顯示,讓使用者在最上層的視窗內仍可看到其他視窗的部分內容,以便在不同視窗之間切換及操作。
為了呈現出上述的半透明效果,一般是由電腦先在螢幕上繪製背景,而在繪製第一視窗(最底層視窗)時,則是先讀取背景資料,並根據背景及第一視窗的透明度參數執行半透明運算,然後將運算結果寫入記憶體,使得所繪製之第一視窗的半透明部分可看見部分的背景。同理,在繪製第二視窗時,電腦需從記憶體重新讀取背景及第一視窗的資料,並根據背景、第一視窗及第二視窗的透明度參數執行半透明運算,然後將運算結果寫入記憶體,使得所繪製之第二視窗的半透明部分可看見部分的背景及部分的第一視窗。然而,隨著開啟的視窗數目的增加,上述的半透明運算將會造成電腦不小的運算負擔,而重複讀寫記憶體的動作也會占用過多的記憶體頻寬,連帶地也會影響電腦整體的執行效能。
本發明提出一種重疊物件的繪製方法,包括下列步驟:首先依據各個物件的繪製屬性將這些物件排序,並將排序後的物件放置於來源串列;針對此來源串列之物件中的一個目標物件,依序找尋來源串列中第一個位置與此目
標物件重疊之重疊物件;若沒有找到重疊物件,即將此目標物件搬移至目標串列,並將來源串列中的此目標物件移除;若有找到重疊物件,則依照目標物件及重疊物件的透明度屬性,將目標物件及重疊物件中之重疊區域融合而生成一個融合物件,將此融合物件以及目標物件及重疊物件中之所有非重疊區域的影像做為新物件依序插回來源串列,並將來源串列中的此目標物件與重疊物件移除。最後,當來源串列中的所有物件均搬移到目標串列時,將目標串列中的物件繪製於電子裝置。
本發明提出一種重疊物件的繪製裝置,其包括排序模組、搜尋模組、融合模組及繪製模組。其中,排序模組係依據要在電子裝置上繪製之多個物件中每一個物件的繪製屬性將這些物件排序,並將排序後的物件放置於一個來源串列。搜尋模組係連接排序模組,用以針對來源串列之一個目標物件,依序找尋來源串列中第一個位置與此目標物件重疊的重疊物件。融合模組係連接搜尋模組,其中若搜尋模組沒有找到重疊物件,將目標物件搬移至一個目標串列,並將來源串列中的目標物件移除;若搜尋模組有找到重疊物件,則依照目標物件及重疊物件的透明度屬性,將目標物件及重疊物件中之重疊區融合成一個融合物件,然後將此融合物件以及目標物件與重疊物件中之所有非重疊區域的影像分別做為新物件依序插回目標串列,並將來源串列中的目標物件與重疊物件移除。繪製模組係連接融合模組,用以在融合模組將來源串列中的所有物件均搬移到
目標串列時,將目標串列中的物件繪製於電子裝置。
本發明提出一種應用於電腦系統的重疊視窗繪製方法,包括下列步驟:依據要在電腦系統上繪製之多個視窗中每一個視窗的繪製屬性將視窗排序,並將排序後的視窗放置於來源串列;針對來源串列中的一個目標視窗,依序找尋來源串列中第一個位置與此目標視窗重疊的重疊視窗;若沒有找到重疊視窗,將此目標視窗搬移至目標串列,並將來源串列中的目標視窗移除;若有找到重疊視窗,依照目標視窗及重疊視窗的透明度屬性,將目標視窗及重疊視窗中至少一個重疊區域融合而生成融合物件,將融合物件以及目標視窗與重疊視窗中至少一個非重疊區域的影像分別做為新視窗依序插回來源串列,並將來源串列中的目標視窗與重疊視窗移除;當來源串列中的所有視窗均搬移到目標串列時,將目標串列中的所有視窗繪製於電腦系統。
基於上述,本發明之重疊物件的繪製方法及裝置係根據物件的繪製屬性將所欲繪製的多個物件排序,並針對每個物件搜尋與其重疊的物件並進行重疊區域的融合及非重疊區域的合併後,放入目標串列中,藉此可在繪製目標串列時省去重複讀寫記憶體的負擔。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
為了減少圖形處理器在繪製重疊物件時重複讀寫記
憶體所占用頻寬,本發明嘗試在將物件寫入記憶體前,先行根據物件的繪製屬性將物件的重疊區域融合,使得之後圖形處理器在繪製物件時可以不用再重複讀寫記憶體以及執行半透明運算,藉此達到減少運算負擔及所占用記憶體頻寬的功效。
圖1是依照本發明一實施例所繪示的重疊物件繪製裝置的方塊圖,圖2則是依照本發明一實施例所繪示的重疊物件繪製方法的流程圖,圖3則是依照本發明一實施例圖2的流程中,運用於步驟202的物件排序方法流程圖。請先參照圖1,本實施例的繪製裝置10例如是一個配置在電子裝置中的圖形處理器(Graphic Processing Unit,GPU)或其他種類的處理器,其包括排序模組11、搜尋模組12、融合模組13及繪製模組14。以下即搭配圖1中繪製裝置10的各項元件說明本實施例繪製方法的詳細步驟。
當繪製裝置10接收到多個物件及其繪製屬性的輸入時,即由排序模組11依據各個物件的繪製屬性將這些物件排序,並將排序後的物件放置於來源串列(source chain)(步驟S202)。其中,所述的繪製屬性包括物件在二維空間上的位置,以及物件的繪製順序,排序模組11即分別依照這些繪製屬性對所接收的物件進行排序。
詳言之,圖3是依照本發明一實施例所繪示的物件排序方法的流程圖,其可運用於步驟202中。請參照圖3,排序模組11例如會先依據各個物件在第一軸向(例如x軸)上的繪製位置將多個物件排序(步驟S302)。其中,
排序模組11例如會找出每個物件的左邊緣,並比較每個物件之左邊緣在x軸上的位置,由左至右將這些物件排序。然後,排序模組11會再依據各個物件在第二軸向(例如y軸)上的繪製位置將這些物件排序(步驟S304)。其中,排序模組11例如會找出每個物件的上邊緣,並比較每個物件之上邊緣在y軸上的位置,由上至下將這些物件排序。最後,排序模組11將依據各個物件的繪製順序將這些物件排序(步驟S306)。其中,排序模組11例如會比較每個物件的繪製順序,由前至後將這件物件排序。藉由上述排序方法,繪製裝置10可找出彼此位置及繪製順序相近的物件並放置在一起,而有利於後續搜尋重疊區域的步驟。
接著,搜尋模組12即會針對來源串列之多個物件中的一個目標物件,依序找尋來源串列中第一個位置與此目標物件重疊的重疊物件(步驟S204),並判斷是否找到重疊物件(步驟S206)。詳言之,搜尋模組12例如是從來源串列中的第一個物件開始,將其設定為目標物件並搜尋重疊物件,而在搜尋的過程中,也是從來源串列中該目標物件之後的第一個物件開始,找尋位置與目標物件重疊的物件。若搜尋模組12在來源串列中沒有找到與目標物件重疊的物件,則會由融合模組13直接將來源串列中的目標物件搬移至目標串列,並將來源串列中的目標物件移除(步驟S208)。
若搜尋模組12在來源串列中有找到與目標物件重疊的物件,則融合模組13即會依照目標物件及此重疊物件的
透明度屬性,將目標物件及重疊物件中的重疊區域融合而成一個融合物件,然後再將此融合物件連同目標物件與重疊物件中的所有非重疊區域做為新物件分別插回來源串列,隨後將原本在來源串列中的目標物件與重疊物件移除(步驟S210)。
詳言之,在一實施例中,融合模組13例如是依照目標物件及重疊物件之透明度屬性的數值比例,對目標物件及重疊物件中的重疊區域進行半透明(alpha-blending)運算,而生成新物件並放置於目標序列。在另一實施例中,融合模組13可先檢查目標物件或重疊物件的透明度屬性是否為零(即為不透明)。其中,若目標物件或重疊物件的透明度屬性為零,即代表在重疊區域中,此物件會覆蓋住其後方物件。此時,融合模組13可跳過半透明運算的步驟,直接將透明度屬性為零的目標物件或重疊物件中的重疊區域做為新物件,重新插回來源序列。
需說明的是,融合模組13在將目標物件及重疊物件融合以生成融合物件的同時,也會融合兩者的繪製屬性。意即,融合模組13會根據目標物件及重疊物件的繪製屬性,給予此融合物件一個新的繪製位置、順序及透明度參數,以便後續繪製模組14在繪製物件時做為參考。
舉例來說,圖4是依照本發明一實施例所繪示之融合目標物件與重疊物件的範例。請參照圖4,目標物件41與重疊物件42之間具有重疊區域43(斜線區域),繪製裝置在融合目標物件41與重疊物件42時,例如會先根據目
標物件41與重疊物件42的透明度參數,針對目標物件41與重疊物件42的重疊區域43進行半透明運算以獲得融合物件,此融合物件將連同目標物件41與重疊物件42中的非重疊區域(即非斜線區域)一起做為新物件分別插回來源序列中,以進行後續處理。
需說明的是,由於上述的目標物件及重疊物件在經過重疊區域的影像融合後,仍無法確定是否和來源串列中的其他物件重疊,因此需要再放回來源串列中重新判斷。而在將融合物件及非重疊區域放回來源串列時,為了節省後續搜尋時間,亦可參照前述的排序模式,依據這些新物件的繪製屬性將這些新物件插回來源串列中的適當位置。此外,上述實施例中的目標物件、重疊物件以及重疊區域均以是矩形為例做說明,然而在實際應用中,使用者也可以視實際需要,將目標物件及重疊物件切分為其他形狀的區塊以進行融合,而不限制於本實施例的實施方式。
每當融合模組13將目標物件搬移至目標串列,或是將新物件插回來源串列時,融合模組13會判斷來源串列中是否還有其他物件未處理(步驟S212)。其中,若仍有物件未處理,則回到步驟S204,由搜尋模組12重新在來源串列中找尋下一個目標物件,並依序找尋來源串列中第一個位置與此目標物件重疊之重疊物件,以決定是否將此目標物件搬移至目標串列,或是將由此目標物件及重疊物件生成之新物件依序插回來源串列。直到融合模組13判斷來源串列中的所有物件均已搬移到目標串列時,即會由繪製
模組14將目標串列中的所有物件繪製於電子裝置(步驟S214)。其中,繪製模組14在繪製物件時例如是根據每個物件的繪製屬性,將目標串列中的物件區分為多個圖層。其中,這些圖層的繪製屬性包括來源材質(texture)、來源材質座標及透明度。
根據上述圖層的繪製屬性,在一實施例中,繪製模組14可設定多個固定功能管線(Fixed Function Pipeline),以分別繪製這些圖層中的物件。其中,每一個材質即對應一個圖層。需說明的是,上述方法是最簡易且快速的繪製方式,但受限於固定功能管線的數目,其所能處理的圖層數目最多只到8層。在另一個實施例中,繪製模組14可產生一個像素著色器(Pixel Shader)或是片段著色器(Fragment Shader),以分別繪製上述圖層中的物件。此種方式較佳但也較複雜,但其所能處理之圖層數目的上限是由著色器的版本而定,目前一般的上限為128,因此可支援128個圖層的繪製。
圖5A至圖5G是依照本發明一實施例所繪製之重疊物件繪製方法的比較範例。請先參照圖5A,本實施例係在背景BK上繪製物件A、B、C,其中物件A位於背景BK之上,物件B位於物件A之上,物件C則位於物件B之上。背景BK的尺寸為1920*1080,而若以背景BK左上角的點為原點(0,0),則背景BK涵括的區域為點(0,0)與點(1920,1080)所形成之矩形區域;物件A為點(50,50)與點(1050,950)所形成之矩形區域;物件B為點(950,100)與點
(1700,900)所形成之矩形區域;物件C為點(25,540)與點(1800,880)所形成之矩形區域。
針對上述的背景及物件,若採用傳統的繪製方式,則需讀寫記憶體的資料筆數如下:1.繪製背景BK:寫入1920*1080=207360;2.繪製物件A:讀取1000*900兩次,以及寫入1000*900一次,總共花費3*1000*900=2700000;3.繪製物件B:讀取750*800兩次,以及寫入750*800一次,總共花費3*750*800=1800000;4.繪製物件C:讀取1775*340兩次,以及寫入1775*340一次,總共花費3*1775*340=1810500。
以上,總共需讀寫記憶體的資料筆數為8384100。
相對於傳統繪製方式,若採用本案由左至右、由上至下、由前至後的排序方式,將圖5A中的物件排序並放置於來源序列,則可得到來源序列:BK、C、A、B。
下一步,請同時參照圖5A及圖5B,將來源序列中排序在先的背景BK做為目標物件,依序在來源序列中找尋第一個位置與背景BK重疊之重疊物件,則可得到物件C。而根據背景BK與物件C的位置可區分出重疊區域52及非重疊區域54、56、58、60。在將重疊區域52融合(即C+BK)後,即可將此重疊區域52(即融合物件)以及非重疊區域54、56、58、60做為新物件插回來源序列。此時,來源序列中的物件為:54、56、52、58、A、B、60。其中,上述的非重疊區域54、56、58、60是依照由左至右、由上
至下的順序分割,而將新物件插回來源序列的順序也是依照由左至右、由上至下,然不限於此。熟知本領域技術人員當可視實際需要,依照由上至下、由左至右的順序或其他順序進行分割及插回。
下一步,將來源序列中排序在先的物件54做為目標物件,依序在來源序列中找尋重疊物件,但由於來源序列中沒有其他物件與物件54重疊,因此可將物件54搬移至目標序列。此時,來源序列中的物件為:56、52、58、A、B、60;目標序列中的物件為:54。
下一步,請同時參照圖5B及5C,將來源序列中排序在先的物件56做為目標物件,依序在來源序列中找尋重疊物件,可得到物件A。而根據物件56與物件A的位置可區分出重疊區域62及非重疊區域64、66、68、70。在將重疊區域62融合(即A+BK)後,即可將此重疊區域62以及非重疊區域64、66、68、70做為新物件插回來源序列。此時,來源序列中的物件為:64、52、58、66、62、70、B、68、60;目標序列中的物件為:54。
下一步,將來源序列中排序在先的物件64做為目標物件,依序在來源序列中找尋重疊物件,但由於來源序列中沒有其他物件與物件64重疊,因此可將物件64搬移至目標序列。此時,來源序列中的物件為:52、58、66、62、70、B、68、60;目標序列中的物件為:54、64。
下一步,請同時參照圖5C及5D,將來源序列中排序在先的物件52做為目標物件,依序在來源序列中找尋重
疊物件,可得到物件70。而根據物件52與物件70的位置可區分出重疊區域72及非重疊區域74、76、78(依照由左至右、由上至下的順序分割)。在將重疊區域72融合(即A+C+BK)後,即可將此重疊區域72(即融合物件)以及非重疊區域74、76、78做為新物件插回來源序列。此時,來源序列中的物件為:74、58、66、62、72、76、B、68、78、60;目標序列中的物件為:54、64。
下一步,將來源序列中排序在先的物件74做為目標物件,依序在來源序列中找尋重疊物件,但由於來源序列中沒有其他物件與物件74重疊,因此可將物件74搬移至目標序列。此時,來源序列中的物件為:58、66、62、72、76、B、68、78、60;目標序列中的物件為:54、64、74。
下一步,請同時參照圖5D及5E,將來源序列中排序在先的物件58做為目標物件,依序在來源序列中找尋重疊物件,可得到物件76。而根據物件58與物件76的位置可區分出重疊區域76及非重疊區域78、80、82。在將重疊區域76融合(即A+BK)後,即可將此重疊區域76以及非重疊區域78、80、82做為新物件插回來源序列。此時,來源序列中的物件為:78、66、62、72、76、80、B、68、78、82、60;目標序列中的物件為:54、64、74。
下一步,將來源序列中排序在先的物件78做為目標物件,依序在來源序列中找尋重疊物件,但由於來源序列中沒有其他物件與物件78重疊,因此可將物件78搬移至目標序列。此時,來源序列中的物件為:66、62、72、76、
80、B、68、78、82、60;目標序列中的物件為:54、64、74、78。
下一步,將來源序列中排序在先的物件66做為目標物件,依序在來源序列中找尋重疊物件,但由於來源序列中沒有其他物件與物件66重疊,因此可將物件66搬移至目標序列。此時,來源序列中的物件為:62、72、76、80、B、68、78、82、60;目標序列中的物件為:54、64、74、78、66。
下一步,請同時參照圖5E及5F,將來源序列中排序在先的物件62做為目標物件,依序在來源序列中找尋重疊物件,可得到物件B。而根據物件62與物件B的位置可區分出重疊區域84及非重疊區域86、88、90、92。在將重疊區域84融合(即A+B+BK)後,即可將此重疊區域84以及非重疊區域86、88、90、92做為新物件插回來源序列。此時,來源序列中的物件為:86、72、76、80、88、84、90、68、92、78、82、60;目標序列中的物件為:54、64、74、78、66。
下一步,將來源序列中排序在先的物件86做為目標物件,依序在來源序列中找尋重疊物件,但由於來源序列中沒有其他物件與物件86重疊,因此可將物件86搬移至目標序列。此時,來源序列中的物件為:72、76、80、88、84、90、68、92、78、82、60;目標序列中的物件為:54、64、74、78、66、86。以此類推,直到來源序列中的所有物件均搬移至目標序列後,即可到如圖5G所繪示的分割
結果。
由於目標序列的物件是經過上述本發明的繪製方式進行排序、分割及融合後,再放入記憶體中。因此,電子裝置在繪製整張影像時,無需再重複讀寫重疊區域的影像,而需讀寫記憶體的資料筆數可縮減如下:1.繪製背景BK:寫入1920*1080=207360;2.繪製物件A:讀取1000*900一次,總共花費1000*900=900000;3.繪製物件B:讀取750*800一次,總共花費750*800=600000;4.繪製物件C:讀取1775*340一次,總共花費1775*340=603500;以上,總共需讀寫記憶體的資料筆數為4177100,約為傳統繪製方式的一半。
應注意的是,圖1所述之排序模組11、搜尋模組12、融合模組13、以及繪製模組14等,皆可將相關功能透過一般程式語言(例如C或C++)、硬體描述語言(Hardware Description Languages,HDL)(包括Verilog HDL、VHDL等等)、或其他可利用的程式語言來完成。所完成的軟體可配置在任何已知的電腦可使用媒介,例如磁帶、半導體、磁碟,或是光碟(例如CD-ROM、DVD-ROM等等)、網際網路、有線、無線、或其他通訊媒介的傳輸方式之中,用以供電腦系統讀取程式碼之用。此外,本發明所述之裝置與方法亦可透過硬體與軟體的結合來實現。因此,本發
明不應侷限於所揭露之實施例,而是依後附之申請專利範圍與等效實施所界定。
綜上所述,本發明之重疊物件的繪製方法及裝置依據物件的繪製屬性將多個物件排序以便搜尋重疊物件,且針對搜尋到的物件先進行融合後再置入播放序列中。因此,在最後繪製播放序列中的物件時,無需再重複讀寫重疊區域的影像,也無需再進行半透明運算,而可節省所使用的運算資源及所占用的記憶體頻寬。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10‧‧‧繪製裝置
11‧‧‧排序模組
12‧‧‧搜尋模組
13‧‧‧融合模組
14‧‧‧繪製模組
41‧‧‧目標物件
42‧‧‧重疊物件
43‧‧‧重疊區域
52~92‧‧‧物件
S202~S214‧‧‧本發明一實施例之重疊物件繪製方法的步驟
S302~S306‧‧‧本發明一實施例之物件排序方法的步驟
圖1是依照本發明一實施例所繪示的重疊物件繪製裝置的方塊圖。
圖2則是依照本發明一實施例所繪示的重疊物件繪製方法的流程圖。
圖3是依照本發明一實施例所繪示的物件排序方法的流程圖。
圖4是依照本發明一實施例所繪示之融合目標物件與重疊物件的範例。
圖5A至圖5G是依照本發明一實施例所繪製之重疊物件繪製方法的比較範例。
S202~S214‧‧‧本發明一實施例之重疊物件繪製方法的步驟
Claims (19)
- 一種重疊物件的繪製方法,適於繪製多個物件於一電子裝置,該方法包括下列步驟:依據各該些物件的一繪製屬性排序該些物件,並放置排序後的該些物件於一來源串列,其中放置於該來源串列中的該些物件之部份或全部彼此相互重疊;針對該來源串列之該些物件中的一目標物件,依序找尋該來源串列中第一個位置與該目標物件重疊之一重疊物件;若沒有找到該重疊物件,搬移該目標物件至一目標串列,並移除該來源串列中的該目標物件;若有找到該重疊物件,依照該目標物件及該重疊物件的一透明度屬性,融合該目標物件及該重疊物件中之一重疊區域的影像而生成一融合影像,分割該目標物件與該重疊物件的一總覆蓋區域為該目標物件及該重疊物件中之該重疊區域以及多個非重疊區域,其中該些非重疊區域的影像依照一順序被分割以獲取多個非重疊物件,將該融合影像與該些非重疊物件作為多個新物件插回該來源串列,其中該些非重疊物件依據該順序而被分別插回該來源串列,並移除該來源串列中的該目標物件與該重疊物件;以及當該來源串列中的所有物件均搬移到該目標串列且該來源串列中不存在該些物件其中之任一時,繪製該目標串列中的該些物件於該電子裝置。
- 如申請專利範圍第1項所述之重疊物件的繪製方 法,其中依據各該些物件的該繪製屬性排序該些物件的步驟包括:依據各該些物件在一第一軸向上的一繪製位置排序該些物件;依據各該些物件在一第二軸向上的該繪製位置排序該些物件;以及依據各該些物件的一繪製順序排序該些物件。
- 如申請專利範圍第1項所述之重疊物件的繪製方法,其中依照該目標物件及該重疊物件的該透明度屬性,融合該目標物件及該重疊物件中該重疊區域的影像而生成該融合影像的步驟包括:若該目標物件或該重疊物件的該透明度屬性為零,直接將該透明度屬性為零之該目標物件或該重疊物件中該至少一重疊區域的影像做為該融合影像。
- 如申請專利範圍第1項所述之重疊物件的繪製方法,其中當該來源串列中的所有物件均搬移到該目標串列時,繪製該目標串列中的該些物件於該電子裝置的步驟包括:若該來源串列中仍有物件未處理,重新在該來源串列中找尋下一目標物件,並依序找尋該來源串列中第一個位置與該下一目標物件重疊之重疊物件,以將該下一目標物件搬移至該目標串列,或是將由該下一目標物件及該重疊物件生成之該些新物件依序插回該來源串列,直到該來源串列中的所有物件均搬移到該目標串列為止。
- 如申請專利範圍第1項所述之重疊物件的繪製方法,其中依照該目標物件及該重疊物件的該透明度屬性,融合該目標物件及該重疊物件中該重疊區域的影像的步驟更包括:融合該目標物件及該重疊物件的繪製屬性,以作為對應之該新物件的繪製屬性。
- 如申請專利範圍第1項所述之重疊物件的繪製方法,其中繪製該目標串列中的該些物件於該電子裝置的步驟包括:根據目標串列中各該些物件的該繪製屬性,區分該些物件為多個圖層;以及設定該電子裝置之一繪圖引擎的多個固定功能管線(Fixed Function Pipeline),以分別繪製該些圖層中的該些物件。
- 如申請專利範圍第1項所述之重疊物件的繪製方法,其中繪製該目標串列中的該些物件於該電子裝置的步驟包括:根據目標串列中各該些物件的該繪製屬性,區分該些物件為多個圖層;以及產生一像素著色器(Pixel Shader)或一片段著色器(Fragment Shader),以分別繪製該些圖層中的該些物件。
- 如申請專利範圍第1項所述之重疊物件的繪製方法,其中該繪製屬性包括一來源材質、一來源材質座標及一透明度。
- 如申請專利範圍第1項所述之重疊物件的繪製方法,其中該些物件係為顯示於該電子裝置之一螢幕上的多個視窗。
- 一種重疊物件的繪製裝置,包括:一排序模組,依據要在一電子裝置上繪製之多個物件中每一個物件的一繪製屬性排序該些物件,並將排序後的該些物件放置於一來源串列,其中放置於該來源串列中的該些物件之部份或全部彼此相互重疊;一搜尋模組,連接該排序模組,針對該來源串列之該些物件中的一目標物件,依序找尋該來源串列中第一個位置與該目標物件重疊之一重疊物件;一融合模組,連接該搜尋模組,其中若該搜尋模組沒有找到該重疊物件,搬移該目標物件至一目標串列,並移除該來源串列中的該目標物件;以及若該搜尋模組有找到該重疊物件,依照該目標物件及該重疊物件的一透明度屬性,融合該目標物件及該重疊物件中之一重疊區域的影像而生成一融合影像,分割該目標物件與該重疊物件的一總覆蓋區域為該目標物件及該重疊物件中之該重疊區域以及多個非重疊區域,其中該些非重疊區域的影像依照一順序被分割以獲取多個非重疊物件,將該融合影像與該些非重疊物件作為多個新物件插回該來源串列,其中該些非重疊物件依據該順序而被分別插回該來源串列,並移除該來源串列中的該目標物件與該重疊物件;以及 一繪製模組,連接該融合模組,當該融合模組將該來源串列中的所有物件均搬移到該目標串列且該來源串列中不存在該些物件其中之任一時,繪製該目標串列中的該些物件於該電子裝置。
- 如申請專利範圍第10項所述之重疊物件的繪製裝置,其中該排序模組包括:依據各該些物件在一第一軸向上的一繪製位置排序該些物件;依據各該些物件在一第二軸向上的該繪製位置排序該些物件;以及依據各該些物件的一繪製順序排序該些物件。
- 如申請專利範圍第10項所述之重疊物件的繪製裝置,其中該融合模組係在該目標物件或該重疊物件的該透明度屬性為零,直接該透明度屬性為零之將該目標物件或該重疊物件中該重疊區域的影像做為該融合影像。
- 如申請專利範圍第10項所述之重疊物件的繪製裝置,其中該融合模組包括在該來源串列中是否有物件未處理時,由該搜尋模組重新在該來源串列中找尋下一目標物件,並依序找尋該來源串列中第一個位置與該下一目標物件重疊之重疊物件,以將該下一目標物件搬移至該目標串列,或是將由該下一目標物件及該重疊物件生成之該些新物件依序插回該來源串列,直到該來源串列中的所有物件均搬移到該目標串列為止。
- 如申請專利範圍第10項所述之重疊物件的繪製 裝置,其中該融合模組更包括融合該目標物件及該重疊物件的該繪製屬性,以作為對應之該新物件的繪製屬性。
- 如申請專利範圍第10項所述之重疊物件的繪製裝置,其中該繪製模組包括根據目標串列中各該些物件的該繪製屬性,區分該些物件為多個圖層,並設定該電子裝置之一繪圖引擎的多個固定功能管線,以分別繪製該些圖層中的該些物件。
- 如申請專利範圍第10項所述之重疊物件的繪製裝置,其中該繪製模組包括根據目標串列中各該些物件的該繪製屬性,區分該些物件為多個圖層,並產生一像素著色器或一片段著色器,以分別繪製該些圖層中的該些物件。
- 如申請專利範圍第10項所述之重疊物件的繪製裝置,其中該繪製屬性包括一來源材質、一來源材質座標及一透明度。
- 如申請專利範圍第10項所述之重疊物件的繪製裝置,其中該些物件係為顯示於該電子裝置之一螢幕上的多個視窗。
- 一種應用於電腦系統的重疊視窗繪製方法,包括下列步驟:依據要在一電腦系統上繪製之多個視窗中每一個視窗的一繪製屬性排序該些視窗,並放置排序後的該些視窗於一來源串列,其中放置於該來源串列中的該些視窗之部份或全部彼此相互重疊;針對該來源串列之該些視窗中的一目標視窗,依序找 尋該來源串列中第一個位置與該目標視窗重疊之一重疊視窗;若沒有找到該重疊視窗,搬移該目標視窗至一目標串列,並移除該來源串列中的該目標視窗;若有找到該重疊視窗,依照該目標視窗及該重疊視窗的一透明度屬性,融合該目標視窗及該重疊視窗中之一重疊區域的影像而生成一融合影像,分割該目標視窗與該重疊視窗的一總覆蓋區域為該目標視窗及該重疊視窗中之該重疊區域以及多個非重疊區域,其中該些非重疊區域的影像依照一順序被分割以獲取多個非重疊視窗,將該融合影像與該些非重疊視窗作為多個新視窗插回該來源串列,其中該些非重疊視窗依據該順序而被分別插回該來源串列,並移除該來源串列中的該目標視窗與該重疊視窗;以及當該來源串列中的所有視窗均搬移到該目標串列且該來源串列中不存在該些視窗其中之任一時,繪製該目標串列中的該些視窗於該電腦系統。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103911402A CN102496169A (zh) | 2011-11-30 | 2011-11-30 | 重迭对象的绘制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201322180A TW201322180A (zh) | 2013-06-01 |
TWI470577B true TWI470577B (zh) | 2015-01-21 |
Family
ID=46187991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101117993A TWI470577B (zh) | 2011-11-30 | 2012-05-21 | 重疊物件的繪製方法及裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8726185B1 (zh) |
CN (2) | CN102496169A (zh) |
TW (1) | TWI470577B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140267327A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Graphics Processing using Multiple Primitives |
US9870188B2 (en) * | 2014-08-18 | 2018-01-16 | Lenovo (Singapore) Pte. Ltd. | Content visibility management |
US10002404B2 (en) * | 2015-04-15 | 2018-06-19 | Mediatek Singapore Pte. Ltd. | Optimizing shading process for mixed order-sensitive and order-insensitive shader operations |
TWI581211B (zh) * | 2016-11-18 | 2017-05-01 | 財團法人工業技術研究院 | 影像融合裝置及其方法 |
TWI630498B (zh) * | 2016-12-22 | 2018-07-21 | 和碩聯合科技股份有限公司 | 電路繪製方法、系統及可執行電路繪製之電腦程式產品 |
CN106971411A (zh) * | 2017-03-13 | 2017-07-21 | 广东南方数码科技股份有限公司 | 一种绘制图像的方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5307086A (en) * | 1991-10-08 | 1994-04-26 | International Business Machines Corporation | Method of implementing a preview window in an object oriented programming system |
US20070101282A1 (en) * | 1999-03-24 | 2007-05-03 | Microsoft Corporation | Method and Structure for Implementing Layered Object Windows |
US20080001952A1 (en) * | 2006-06-28 | 2008-01-03 | Microsoft Corporation | Fast reconfiguration of graphics pipeline state |
US20080288860A1 (en) * | 2007-05-14 | 2008-11-20 | Business Objects, S.A. | Apparatus and method for organizing visual objects |
WO2011011024A1 (en) * | 2009-07-23 | 2011-01-27 | Hewlett-Packard Development Company, L.P. | Display with an optical sensor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1369863A (zh) * | 2001-02-15 | 2002-09-18 | 矽统科技股份有限公司 | 通过预先排序以增进三维空间电脑绘图效果的方法 |
JP2003233809A (ja) * | 2002-02-07 | 2003-08-22 | Matsushita Electric Ind Co Ltd | 画像合成装置および画像合成方法 |
US7755629B2 (en) * | 2004-06-30 | 2010-07-13 | Canon Kabushiki Kaisha | Method of rendering graphic objects |
US7911481B1 (en) * | 2006-12-14 | 2011-03-22 | Disney Enterprises, Inc. | Method and apparatus of graphical object selection |
US20080284798A1 (en) | 2007-05-07 | 2008-11-20 | Qualcomm Incorporated | Post-render graphics overlays |
US7956869B1 (en) * | 2007-07-13 | 2011-06-07 | Adobe Systems Incorporated | Proximity based transparency of windows aiding in obscured window selection |
US8327277B2 (en) * | 2008-01-14 | 2012-12-04 | Microsoft Corporation | Techniques to automatically manage overlapping objects |
WO2011072497A1 (zh) * | 2009-12-18 | 2011-06-23 | 联想(北京)有限公司 | 窗口管理方法、装置及计算设备 |
-
2011
- 2011-11-30 CN CN2011103911402A patent/CN102496169A/zh active Pending
-
2012
- 2012-05-21 TW TW101117993A patent/TWI470577B/zh active
- 2012-10-23 CN CN201210405662.8A patent/CN102929621B/zh active Active
- 2012-11-02 US US13/666,970 patent/US8726185B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5307086A (en) * | 1991-10-08 | 1994-04-26 | International Business Machines Corporation | Method of implementing a preview window in an object oriented programming system |
US20070101282A1 (en) * | 1999-03-24 | 2007-05-03 | Microsoft Corporation | Method and Structure for Implementing Layered Object Windows |
US20080001952A1 (en) * | 2006-06-28 | 2008-01-03 | Microsoft Corporation | Fast reconfiguration of graphics pipeline state |
US20080288860A1 (en) * | 2007-05-14 | 2008-11-20 | Business Objects, S.A. | Apparatus and method for organizing visual objects |
WO2011011024A1 (en) * | 2009-07-23 | 2011-01-27 | Hewlett-Packard Development Company, L.P. | Display with an optical sensor |
Also Published As
Publication number | Publication date |
---|---|
CN102496169A (zh) | 2012-06-13 |
US8726185B1 (en) | 2014-05-13 |
US20140115531A1 (en) | 2014-04-24 |
CN102929621A (zh) | 2013-02-13 |
CN102929621B (zh) | 2015-11-18 |
TW201322180A (zh) | 2013-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI470577B (zh) | 重疊物件的繪製方法及裝置 | |
US8423914B2 (en) | Selection user interface | |
US9142044B2 (en) | Apparatus, systems and methods for layout of scene graphs using node bounding areas | |
US8234392B2 (en) | Methods and apparatuses for providing a hardware accelerated web engine | |
US20230137901A1 (en) | Techniques to Modify Content and View Content on Mobile Devices | |
US20190051047A1 (en) | Generation of a Control Stream for a Tile | |
US11216998B2 (en) | Jointly editing related objects in a digital image | |
Wu et al. | ViSizer: a visualization resizing framework | |
US11043027B2 (en) | Three-dimensional graphics image processing | |
JP5788589B2 (ja) | 低解像度バッファベースのピクセルカリング | |
WO2013179560A1 (ja) | 画像処理装置および画像処理方法 | |
US8648861B2 (en) | Two-dimensional vector fills using topological recipes | |
CN111161391B (zh) | 一种生成追踪路径的方法、装置及计算机存储介质 | |
CN110806847A (zh) | 一种分布式多屏幕显示方法、装置、设备及系统 | |
KR20040047413A (ko) | 그래픽방식에 의한 2d 캐드파일 비교 방법 | |
US20190026929A1 (en) | Organizing images automatically into image grid layout | |
US20180293775A1 (en) | Image animation in a presentation document | |
US9582247B1 (en) | Preserving data correlation in asynchronous collaborative authoring systems | |
US20120313939A1 (en) | Level of detail processing | |
CN107621951A (zh) | 一种视图层级优化的方法及装置 | |
US8566359B1 (en) | Unfolding sparse data sets | |
US10643395B2 (en) | Real-time spatial authoring in augmented reality using additive and subtractive modeling | |
CN102801936A (zh) | 实现在屏显示的方法 | |
US10489499B2 (en) | Document editing system with design editing panel that mirrors updates to document under creation | |
US10613722B1 (en) | Distorting a graph on a computer display to improve the computer's ability to display the graph to, and interact with, a user |