一種渲染方法及設備的制作方法
【專利摘要】本發明的實施方式提供了一種渲染方法。該方法包括保存動態加載的對象的遮罩信息;確定需要進行遮罩計算的目標對象;獲取所述遮罩信息,根據所述遮罩信息確定動態加載的對象的遮罩區域;計算所述目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域;以及,繪制所述動態加載的對象的遮罩區域中的所述相交區域,從而把所述目標對象的所述相交區域遮擋住。本發明的實施方式還提供了一種渲染設備。本發明的實施方式可以使渲染效果與真實效果一致。
【專利說明】一種渲染方法及設備
【技術領域】
[0001]本發明的實施方式涉及電子數據的處理【技術領域】,更具體地,本發明的實施方式涉及一種渲染方法及設備。
【背景技術】
[0002]本部分旨在為權利要求書中陳述的本發明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。
[0003]電子數據可通過渲染操作呈現到顯示設備上。通常而言,需要渲染到顯示設備上的電子數據不僅具有空間特性(該特性表明新渲染的對象在顯示設備上會占據一定的區域),而且還具有層次特性(該特性表明新渲染的對象可能與其他對象之間存在視線上的前后關系)。在具有空間特性和層次特性的對象需要渲染到顯示設備上時,可能出現新渲染對象與其他對象之間的“遮罩現象”,即位于下層的對象所占據的區域遮蓋住位于其上層的其他對象所占據的部分或全部區域。為確保顯示設備上顯示的“遮罩效果”與實際的“遮罩效果”的一致性,在渲染對象時必須正確地繪制對象之間的遮罩區域。
[0004]在現有技術中,存在一種渲染方法,該方法在渲染對象之前,每個對象在顯示設備上將要顯示的相對位置和相互之間的遮罩關系已經固定,正式渲染時直接按照預先確定的位置和遮罩關系一次性渲染到顯示設備上,這種方式能夠較好地確保顯示在顯示設備上的對象與真實場景一致。
【發明內容】
[0005]但是,上述渲染方式屬于對“靜態”對象的渲染,這種一次性處理完所有對象和遮罩信息的情況下,通常不會出現“遮罩”錯誤。而當在顯示設備上動態加載原本沒有的對象后,從而對象之間出現新的位置關系時,由于在靜態處理過程中沒有明確動態加載的對象的遮罩信息,直接渲染將可能導致兩個對象之間的位置關系出現錯誤,使得渲染的效果與真實的效果不一致。
[0006]為此,非常需要一種改進的渲染機制,以使在動態加載對象后進行渲染時不產生遮罩錯誤,保持渲染效果與真實效果的一致性。
[0007]在本上下文中,本發明的實施方式期望提供一種渲染方法和渲染設備。
[0008]在本發明實施方式的第一方面中,提供的渲染方法例如可以包括:
[0009]保存動態加載的對象的遮罩信息;
[0010]確定需要進行遮罩計算的目標對象;
[0011]獲取所述遮罩信息,根據所述遮罩信息確定動態加載的對象的遮罩區域;
[0012]計算所述目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域;以及
[0013]繪制所述動態加載的對象的遮罩區域中的所述相交區域,從而把所述目標對象的所述相交區域遮擋住。[0014]在本發明實施方式的第二方面中,提供了一種渲染設備,該設備例如可以包括:保存裝置、確定裝置、獲取裝置、第一運算裝置、第二運算裝置和繪制裝置,其中:
[0015]所述保存裝置,用于保存動態加載的對象的遮罩信息;
[0016]所述確定裝置,用于確定需要進行遮罩計算的目標對象;
[0017]所述獲取裝置,用于獲取所述遮罩信息;
[0018]所述第一運算裝置,用于根據所述遮罩信息確定動態加載的對象的遮罩區域;
[0019]所述第二運算裝置,用于計算所述目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域;
[0020]所述第一繪制裝置,用于繪制所述動態加載的對象的遮罩區域中的所述相交區域,從而把所述目標對象的所述相交區域遮擋住。
[0021]本發明實施方式將動態加載的對象的遮罩信息進行保存,在確定好目標對象后,計算目標對象占據的區域與動態加載對象的遮罩區域的相交區域,然后將動態加載對象的遮罩區域中的相交區域繪制出來。本發明實施例方式繪制的區域為動態加載對象與目標對象的相交區域,減少了繪制工作量,有利于提高渲染效率。而且,本發明實施例方式繪制的相交區域為動態加載對象的遮罩區域中的相交區域,能夠將目標對象的相交區域遮擋住,從而正確反映了動態加載對象與目標對象之間的遮罩關系,使其在顯示設備上渲染效果與真實效果一致。
【專利附圖】
【附圖說明】
[0022]通過參考附圖閱讀下文的詳細描述,本發明示例性實施方式的上述以及其他目的、特征和優點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發明的若干實施方式,其中:
[0023]圖1示意性地示出了適于實現本發明實施方式的示例性計算系統100的框圖;
[0024]圖2示意性地示出了本發明適用的一個具體應用場景;
[0025]圖3示意性地示出了本發明渲染方法的實施例流程圖;
[0026]圖4示意性地示出了本發明渲染設備的組成結構圖。
[0027]在附圖中,相同或對應的標號表不相同或對應的部分。
【具體實施方式】
[0028]下面將參考若干示例性實施方式來描述本發明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現本發明,而并非以任何方式限制本發明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的范圍完整地傳達給本領域的技術人員。
[0029]圖1示出了適于實現本發明實施方式的進行渲染操作的示例性的計算系統100的框圖。如圖1所示,計算系統100可以包括:中央處理單元(CPU) 101、隨機存取存儲器(RAM)102、只讀存儲器(R0M)103、系統總線104、硬盤控制器105、鍵盤控制器106、串行接口控制器107、并行接口控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設備112、并行外部設備113和顯示器114。這些設備中,與系統總線104耦合的有CPUlOl、RAM102、R0M103、硬盤控制器105、鍵盤控制器106、串行接口控制器107、并行接口控制器108和顯示控制器109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設備112與串行接口控制器107耦合,并行外部設備113與并行接口控制器108耦合,以及顯示器114與顯示控制器109耦合。應當理解,圖1所述的結構框圖僅僅是為了示例的目的,而不是對本發明范圍的限制。在某些情況下,可以根據具體情況增加或減少某些設備。
[0030]本領域技術人員知道,本發明的實施方式可以實現為一種系統、裝置、設備、方法或計算機程序產品。因此,本公開可以具體實現為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結合的形式。
[0031]在本文中,需要理解的是,所涉及的術語“動態加載的對象”是相對于靜態加載對象而言的,靜態加載對象在電子數據生成時一次性加載到顯示設備上,而動態加載對象是在靜態加載對象加載完成后的某個時候需要加載到顯示設備上的對象;所涉及的術語“遮罩區域”是加載對象上的一個區域,屬于加載對象的一個子區域。此外,附圖中的任何元素數量均用于示例而非限制,以及任何命名都僅用于區分(比如,后續將要提到的“第一”繪制裝置、“第二”繪制裝置等),而不具有任何限制含義。
[0032]下面參考本發明的若干代表性實施方式,詳細闡釋本發明的原理和精神。
[0033]發明概沭
[0034]本發明人發現,在已顯示有靜態對象的顯示設備上,如果動態添加新對象從而兩個對象之間出現新的位置關系時,如果不正確處理兩個對象之間的遮罩關系,將使它們渲染出來的效果與真實的效果不一致。
[0035]兩個對象之間的遮罩關系反映了一個對象遮擋另一個對象的情況。當一個對象(甲對象)的相對位置確定后,如果將另一個對象(乙對象)渲染到甲對象所在的(局部)區域,如果甲對象與乙對象之間沒有遮罩關系,即甲對象的該區域不是遮罩區域,那么乙對象位于甲對象前面(以觀察點為基點),將甲對象的某區域遮擋住。如果甲對象與乙對象之間有遮罩關系,即甲對象的該區域是遮罩區域,那么乙對象位于甲對象的該區域的后面(以觀察點為基點),即甲對象的該區域遮擋住乙對象。
[0036]因此,為實現各種對象的正確渲染,需要根據遮罩信息進行遮罩計算。當存在動態加載的對象時,本發明根據保存的動態加載的對象的遮罩信息,計算目標對象占據的區域與動態加載對象的遮罩區域的相交區域,然后繪制出動態加載對象的遮罩區域中的相交區域。這種方式一方面使繪制的區域為動態加載對象與目標對象的相交區域而不是各自全部的區域,避免了重復繪制或大面積的繪制,減少了繪制工作量,有利于提高渲染效率。另一方面,繪制的相交區域為動態加載對象的遮罩區域中的相交區域,能夠將目標對象的相交區域遮擋住,從而正確反映了動態加載對象與目標對象之間的遮罩關系,使其在顯示設備上渲染效果與真實效果一致。
[0037]在介紹了本發明的基本思路之后,下面具體介紹本發明的各種非限制性實施方式。
[0038]應用場景總覽
[0039]參考圖2,該圖示出了本發明的一種示例性的應用場景。該場景反映了本發明應用于電子地圖中的情況。在該場景中,動態加載的對象為一座房子21,該房子區別于事先已經固定在地圖上的靜態對象,事先固定在地圖上的靜態的遮罩信息已經加載完畢,而該房子的遮罩信息將作為以渲染方法的一個步驟被保存于某個存儲設備之中,其還沒有與其他對象之間的遮罩信息發生直接的關系。在該場景中作為目標對象的是一個可以自由移動的人22。由于人的可移動性,作為目標對象的人和動態加載對象之間的關系將可能隨著人的移動而發生變化:當人遠離該房子時,房子和人各自獨立,不發生遮罩關系;當人朝著該房子移動時,人所在的區域將逐漸與房子所占據的區域可能出現相交現象,將可能發生遮罩關系;當人移動過房子時,房子和人各自對立,也不發生遮罩關系。在人所在的區域與房子所在的區域存在相交時,可能出現兩種具體情形:一是人從房子前面走過(參見圖中24所指示的線路),那么房子的某些區域將被人遮擋住,另一種是人從房子后面走過(參見圖中23所指示的線路),那么“人”的某些(或全部)區域將被房子遮擋住(取決于房子的遮擋信息)。
[0040]上述應用場景突出了一個動態加載對象與一個可移動的目標對象之間的遮罩關系,但是,兩個對象之間的遮罩關系并不限于上述場景之下,本領域技術人員可以從本質上進行多方面的延伸,從而擴展本發明實施例方式的具體應用范圍。比如,上述場景中遮罩關系的出現與兩個對象在電子地圖上的相對位置關系的變化相關聯,那么,在別的應用場景中,如果出現一個對象保持不動(比如先前動態加載的對象),另一個對象新動態加載到先前動態加載的對象所占據的區域,或者一個對象的移動速度大于另一個對象的速度等情況,相對位置關系也會發生變化,從而也可能出現需要進行處理的遮罩關系,這些應用場景下,使用本發明實施例方式同樣可以解決“遮罩效果”與“真實效果” 一致性的問題。
[0041]還比如,本發明實施方式還可以應用于游戲畫面之中。在各種游戲中,經常會出現模擬真實場景的需求,在真實場景中出現的一個對象與另一個對象之間的遮擋情況,需要一致性地表達到游戲畫面場景中,這樣可以提高游戲畫面的真實度,優化玩家的游戲體驗。
[0042]示例性方法
[0043]下面結合圖2的應用場景,參考圖3來描述根據本發明示例性的渲染方法的實施。需要注意的是,上述應用場景僅是為了便于理解本發明的精神和原理而示出,本發明的實施方式在此方面不受任何限制。相反,本發明的實施方式可以應用于其他可以適用的任何場景。
[0044]根據圖3示出的本發明的一個示例性的渲染方法實施例,渲染方法可以包括如下步驟:
[0045]步驟S301:保存動態加載的對象的遮罩信息;
[0046]動態加載的對象的遮罩信息的保存區別于靜態對象的遮罩信息的保存。在現有技術中,加載對象的遮罩信息是分塊分散存儲的。以本實施例的應用于電子地圖的場景為例,電子地圖被按照預定大小劃分為多個塊,每個塊存儲位于該塊內的加載對象和遮罩信息,塊內的遮罩信息在一次性渲染時已得到體現,塊外的遮罩信息相互獨立,不發生關系。本實施例將動態加載的對象的遮罩信息進行統一保存,不再區分塊。在本實施例中,動態加載對象為房子。
[0047]步驟S302:確定需要進行遮罩計算的目標對象;
[0048]以前述的應用場景為例,可以將可自由移動的人確定為需要進行遮罩計算的目標對象,原因是人一直在走動,可能會走到動態加載的對象的遮罩區域中。
[0049]當然,也可以將最新要動態加載的對象確定為需要進行遮罩計算的目標對象,因為該最新要動態加載的對象可能會加載到之前動態加載的對象的遮罩區域中。
[0050]步驟S303:獲取所述遮罩信息,根據所述遮罩信息確定動態加載的對象的遮罩區域;
[0051]遮罩信息是對遮罩區域的刻畫,通過遮罩信息可以確定動態加載的對象的遮罩區域。一個對象是否會與其他對象發生遮罩關系與兩個對象之間的位置關系有關,當兩個對象位置上相差較遠,無論從其中一個對象的哪個角度觀察(或者從預先設定的一個角度觀察)不發生遮擋時,那么這兩個對象將不會發生遮罩關系,這種情況下,一個對象的遮罩信息對另一個對象而言,實際上沒有多大意義。當從一個預先設定的角度觀察兩個對象存在部分或全部的遮擋時,對象的遮罩信息即能反映兩者的遮罩關系,而遮罩關系是通過遮罩區域的相交與否來體現的,一個對象的遮罩區域之外的部分與另一個對象不會發生遮罩關系。因此,從遮罩信息中確定遮罩區域為通過遮罩計算來確定具體的遮罩情況提供了基礎。下面示例性地說明具體確定遮罩區域的方法,假設一個動態加載的物體為矩形,物體的遮罩區域是它的一個子矩形,遮罩信息描述了該子矩形的左上角相對于整個矩形物體的左上角偏移是(dx,dy),子矩形的大小是(w,h)。當加載該矩形物體時,矩形物體的左上角在電子地圖上的位置是(X,y),那么遮罩區域由(x+dx,y-dy)確定。
[0052]步驟S304:計算所述目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域。
[0053]通過前述步驟確定好目標對象和動態加載對象的遮罩區域后,即可進行目標對象占據的區域與遮罩區域的相交區域的計算。該步驟實際上區域裁剪過程,即將遮罩區域中不與目標對象所占據的區域相交的部分給裁剪掉,以及將目標對象所占據的區域中不與遮罩區域相交的部分給裁剪掉,剩下兩個共同的區域(即相交區域)。這個共同區域真實代表了兩個對象之間的遮罩關系以及遮擋區域的大小面積。
[0054]步驟S305:繪制所述動態加載的對象的遮罩區域中的所述相交區域,從而把所述目標對象的所述相交區域遮擋住。
[0055]計算出相交區域后,需要將相交區域繪制出來。相交區域包括兩個有遮罩關系的區域,一個是動態加載的對象遮罩區域中的相交區域,一個是目標對象所占據區域中的相交區域。這里繪制的相交區域是前者而非后者。這樣繪制方式是與確定的進行遮罩計算的目標對象有關系,因為目標對象是該動態加載的對象加載后移動或放到該動態加載的對象附近的。也就是說,是在渲染了該動態加載的對象之后將該目標對象渲染到該動態加載的對象附近。如果不使用該動態加載的對象的遮罩信息,就會繪制目標對象所占據區域中的相交區域,使得后來渲染的該目標對象繪制在動態加載的對象的上面,從而造成渲染效果與真實效果不一致。
[0056]在上述示例性的渲染方法實施例中,為了描述的方便將步驟S301安排在步驟S302之前,步驟S303安排在步驟S302之后,但在實際應用過程中,步驟S301?303的目的在于為步驟S304提供遮罩計算的兩個基礎數據,只要這些提供基礎數據的步驟在步驟S304之前完成即可實現本發明的發明目的,而不用限制必須按照前述的步驟執行。比如,實際執行順序可以為S301、S303、S302等。此外,對于后續的S304、S305的步驟,在實際應用過程中,其也可能不是按照前述示例性實施例的方式執行,比如,一種可行的方式是一邊執行計算相交區域的操作,一邊進行相交區域的繪制操作,尤其在存在多個動態加載對象(詳見后續內容)下,這兩個步驟可以交替性的進行。
[0057]在前述示例性的實施例中,在實際應用過程中可能發生多種基于實際需要的變形。比如,動態加載的對象為多個,這種情況下的渲染過程將發生變化。在動態加載的對象為一個時,僅涉及到目標對象與該唯一的動態加載的對象之間的關系,而在動態加載的對象為多個時,將涉及到兩類關系:一是多個動態加載的對象之間的關系;二是每個動態加載的對象與目標對象的關系。對于第一類關系,由于有多個動態加載的對象,而這些動態加載對象將可能均被渲染在與目標對象所占據的區域關聯的范圍內,這時必須使多個動態加載對象具有層次關系,即按照層次關系保存多個動態加載的對象的遮罩信息,從而使得在繪制相交區域時不出現錯誤。對于第二類關系,由于有多個動態加載的對象,每個動態加載對象的遮罩區域均可能與目標對象所占據的區域存在相交關系,這時便需要針對每個動態加載對象,計算每個動態加載對象的遮罩區域與目標對象占據的區域之間的相交區域。
[0058]根據上述第一類關系的要求,需要將動態加載對象的遮罩信息按照層次關系進行保存,該手段在具體實現時可以存在多種方式。比如,可以采用插入排序的方式實現層次性的保存:預先設定一個順序表,該順序表中的每個位置已排好順序,然后隨機地讀取動態加載對象的遮罩信息,將這些動態加載的對象的遮罩信息按照層次關系插入到順序表的合適位置。通過這種保存方式可以使處于無序狀態中的動態加載對象的遮罩信息變得井然有序。
[0059]根據上述第二類關系的要求,需要計算每個動態加載對象的遮罩區域與目標對象占據的區域的相交區域,這樣將產生多個相交區域,這些相交區域可能會存在遮罩關系,那么在繪制相交區域時則需要按照動態加載的對象的遮罩信息之間的層次關系來繪制相應遮罩區域,否則將可能導致渲染效果與真實效果不一致。在繪制多個相交區域時其具體實現方式可以存在多種。一種可行的方法是采用畫家算法,即以觀察點為基點,根據多個動態加載的對象的遮罩信息之間的層次關系確定多個動態加載的對象相對于觀察點的遠近關系,然后根據遠近關系繪制相應遮罩區域的相交區域。通過這種方式將使多個相交區域的繪制不發生錯亂,從而確保渲染效果與真實效果一致。
[0060]上述內容針對目標對象與動態加載的對象之間的遮罩關系如何進行渲染的問題進行了詳細敘述。在實際應用過程中,還可能存在目標對象或者動態加載對象與靜態對象存在遮罩關系的情形,這種情形下,也需要注意正確渲染相交區域。如前所述,在目標對象或動態加載的對象位于靜態對象前面時(更準確地說,位于靜態對象的遮罩區域之外時),目標對象或動態加載的對象可直接放置在靜態對象之上,不進行處理即可保證渲染效果與真實效果一致,但是,當目標對象或動態加載的對象位于靜態對象后面時(更準確地說,與靜態對象的遮罩區域有相交時),則需要確定目標對象和/或動態加載的對象與靜態對象之間的遮罩區域,從而把目標對象和/或動態加載的對象的相交區域遮擋住。
[0061]示例性設備
[0062]在介紹了本發明示例性實施方式的方法之后,接下來,參考圖4,該圖示出了一種渲染設備的示例性實施方式。該設備可以包括:保存裝置401、確定裝置402、獲取裝置403、第一運算裝置404、第二運算裝置405和第一繪制裝置406,其中:
[0063]保存裝置401,用于保存動態加載的對象的遮罩信息;
[0064]確定裝置402,用于確定需要進行遮罩計算的目標對象;
[0065]獲取裝置403,用于獲取所述遮罩信息;
[0066]第一運算裝置404,用于根據所述遮罩信息確定動態加載的對象的遮罩區域;[0067]第二運算裝置405,用于計算所述目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域;
[0068]第一繪制裝置406,用于繪制所述動態加載的對象的遮罩區域中的所述相交區域,從而把所述目標對象的所述相交區域遮擋住。
[0069]上述設備實施例的工作過程是:在啟動渲染流程后,確定裝置402確定需要進行遮罩計算的目標對象,同時或之前/之后,獲取裝置403從保存裝置401中獲取動態加載的對象的遮罩信息,第一運算裝置404根據遮罩信息確定動態加載的對象的遮罩區域,然后,第二運算裝置405計算目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域,第一繪制裝置406繪制動態加載的對象的遮罩區域中的所述相交區域。通過渲染設備的上述工作,可以提供渲染效率,確保渲染效果與真實效果的一致性。
[0070]上述示例性的設備在具體實現時,根據具體情況需要,可以采用軟件、硬件或者軟件加硬件結合的方式實現。以硬件實現為例,上述保存裝置401可以是任何具有存儲能力的工業器件,比如,磁盤存儲設備、緩存設備、閃存等;確定裝置402可以采用選擇電路或判決電路實現,選擇電路在接收到觸發電信號后,根據該電信號選擇到需要進行遮罩計算的目標對象上,判決電路可以針對多個對象逐一進行判斷,確定需要進行遮罩計算的目標對象;獲取裝置403可以為數據讀取電路,從保存裝置中讀取出保存的動態加載的對象的遮罩信息;第一運算裝置可以是一個具有運算處理能力的電子器件,比如單片機、微處理器等,同樣的第二運算裝置也可以具有運算處理能力的任何設備,但通常而言,第二運算裝置405的處理能力可以強于第一運算裝置,因為第二運算裝置需要進行較大的數據處理;第一繪制裝置406負責將相交區域繪制出來,可以采用具有繪制能力的設備來實現。
[0071]上述示例性的設備基于實際的需要可以進行各種變形或改進。在實際應用過程中,一種可能的情形是動態加載的對象具有多個,這種情況下:為避免出現后續的錯誤渲染,保存裝置401需要按照層次關系保存多個動態加載的對象的遮罩關系,具體實現時保存裝置可以進一步包括讀取子裝置4011和插入子裝置4012,前者用于隨機讀取動態加載的對象的遮罩信息,后者將動態加載的對象的遮罩信息按照層次關系插入到順序表的合適位置,當然,為了實現保存裝置的功能也可以采用其他的內部結構組成來實現。類似地,第一繪制裝置406在繪制相交區域時可以按照層次關系進行繪制,具體實現時第一繪制裝置可以進一步包括識別子裝置4061和繪制子裝置4062,前者用于根據多個動態加載的對象的遮罩信息之間的層次關系確定多個動態加載的對象相對于觀察點的遠近關系,后者用于根據確定的遠近關系先后繪制相應遮罩區域的相交區域,當然,為了實現第一繪制裝置的功能也可以采用其他的內部結構組成來實現。
[0072]除上述敘述的可能出現多個動態加載對象的情形外,在實際應用過程中,還可能在目標對象或者動態加載的對象與靜態加載的對象之間存在遮罩關系,即目標對象或者動態加載的對象所占據的區域與靜態加載的對象的遮罩區域可能存在相交關系,有相交關系則存在遮罩的問題。在這種情形下,本發明實施例通過設置第二繪制裝置來繪制靜態加載的對象的遮罩區域的相交區域,從而把目標對象和/或動態加載的對象遮擋住。這里的第二繪制裝置可以與前述的第一繪制裝置具有相同或類似的內部結構。
[0073]應當注意,盡管在上文詳細描述中提及了渲染設備的若干裝置,但是這種劃分并非強制性的。實際上,根據本發明的實施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化,比如,為節約成本,將第一繪制裝置和第二繪制裝置結合成能同時完成各自功能的一個繪制裝置。并且,相反地,上文描述的一個裝置的特征和功能可以進一步劃分為由多個裝置來具體化。
[0074]此外,盡管在附圖中以特定順序描述了本發明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的結果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執行,和/或將一個步驟分解為多個步驟執行。
[0075]雖然已經參考若干【具體實施方式】描述了本發明的精神和原理,但是應該理解,本發明并不限于所公開的【具體實施方式】,對各方面的劃分也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發明旨在涵蓋所附權利要求的精神和范圍內所包括的各種修改和等同布置。
【權利要求】
1.一種渲染方法,包括: 保存動態加載的對象的遮罩信息; 確定需要進行遮罩計算的目標對象; 獲取所述遮罩信息,根據所述遮罩信息確定動態加載的對象的遮罩區域; 計算所述目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域;以及,繪制所述動態加載的對象的遮罩區域中的相交區域,從而把所述目標對象的相交區域遮擋住。
2.根據權利要求1所述的方法,其中,所述動態加載的對象為多個,并且按照層次關系保存多個動態加載的對象的遮罩信息,分別計算目標對象占據的區域與每個動態加載的對象的遮罩區域的相交區域,以及根據所述多個動態加載的對象的遮罩信息之間的層次關系繪制相應遮罩區域的相交區域。
3.根據權利要求2所述的方法,其中,按照層次關系保存多個動態加載的對象的遮罩信息包括: 隨機讀取動態加載的對象的遮罩信息; 將所述動態加載的 對象的遮罩信息按照層次關系插入到順序表的合適位置。
4.根據權利要求2或3所述的方法,其中,根據所述多個動態加載的對象的遮罩信息之間的層次關系繪制相應遮罩區域的相交區域包括: 根據所述多個動態加載的對象的遮罩信息之間的層次關系確定所述多個動態加載的對象相對于觀察點的遠近關系; 根據確定的遠近關系先后繪制相應遮罩區域的相交區域。
5.根據權利要求1所述的方法,還包括: 如果所述目標對象和/或所述動態加載的對象與靜態加載的對象的遮罩區域相交,則繪制所述靜態加載的對象的遮罩區域,從而把所述目標對象和/或所述動態加載的對象的相交區域遮擋住。
6.一種渲染設備,包括:保存裝置、確定裝置、獲取裝置、第一運算裝置、第二運算裝置和繪制裝置,其中: 所述保存裝置,用于保存動態加載的對象的遮罩信息; 所述確定裝置,用于確定需要進行遮罩計算的目標對象; 所述獲取裝置,用于獲取所述遮罩信息; 所述第一運算裝置,用于根據所述遮罩信息確定動態加載的對象的遮罩區域; 所述第二運算裝置,用于計算所述目標對象占據的區域與所述動態加載的對象的遮罩區域的相交區域; 所述第一繪制裝置,用于繪制所述動態加載的對象的遮罩區域中的相交區域,從而把所述目標對象的相交區域遮擋住。
7.根據權利要求6所述的設備,其中,所述動態加載的對象為多個,所述保存裝置,具體用于按照層次關系保存多個動態加載的對象的遮罩信息;所述第二運算裝置,具體用于分別計算目標對象占據的區域與每個動態加載的對象的遮罩區域的相交區域;所述第一繪制裝置,具體用于根據所述多個動態加載的對象的遮罩信息之間的層次關系繪制相應遮罩區域的相交區域。
8.根據權利要求7所述的設備,其中,所述保存裝置包括讀取子裝置和插入子裝置,所述讀取子裝置,用于隨機讀取動態加載的對象的遮罩信息;所述插入子裝置,用于將所述動態加載的對象的遮罩信息按照層次關系插入到順序表的合適位置。
9.根據權利要求7或8所述的設備,其中,所述第一繪制裝置包括識別子裝置和繪制子裝置,所述識別子裝置,用于根據所述多個動態加載的對象的遮罩信息之間的層次關系確定所述多個動態加載的對象相對于觀察點的遠近關系;所述繪制子裝置,用于根據確定的遠近關系先后繪制相應遮罩區域的相交區域。
10.根據權利要求7所述的設備,其中,所述設備還包括判斷裝置和第二繪制裝置,所述判斷裝置,用于判斷所述目標對象和/或所述動態加載的對象與靜態加載的對象的遮罩區域是否相交,如果是,則觸發第二繪制裝置;所述第二繪制裝置,用于繪制所述靜態加載的對象的遮罩區域,從而把 所述目標對象和/或所述動態加載的對象的相交區域遮擋住。
【文檔編號】G06T15/00GK103679793SQ201310752469
【公開日】2014年3月26日 申請日期:2013年12月31日 優先權日:2013年12月31日
【發明者】吳旋鋁, 張志豪 申請人:廣州博冠信息科技有限公司