亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

游戲場(chǎng)景管理方法

文檔序號(hào):6600566閱讀:295來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):游戲場(chǎng)景管理方法
游戲場(chǎng)景管理方法
技術(shù)領(lǐng)域
本發(fā)明涉及游戲引擎領(lǐng)域,特別是關(guān)于游戲場(chǎng)景管理方法。背景技術(shù)
游戲是人們?nèi)粘I钪斜夭豢缮俚膴蕵?lè)項(xiàng)目,幾乎現(xiàn)在每一款游戲的背后,都有一款與之匹配的游戲引擎,游戲引擎掌控著游戲中各種資源,現(xiàn)代游戲引擎基本包括圖像引擎、聲音引擎、物理引擎、控制引擎、人工智能或者游戲邏輯等。所述圖像引擎用來(lái)繪制具體的游戲場(chǎng)景,其中游戲場(chǎng)景是指顯示器顯示出來(lái)的游戲畫(huà)面。圖1示出了一個(gè)現(xiàn)有技術(shù)中的簡(jiǎn)單游戲場(chǎng)景100。請(qǐng)參考圖1所示,所述游戲場(chǎng)景100包括液晶電視102、電視盒104、電視柜106、桌子108、本子110、第一杯子112、第二杯子114以及房間116。所述圖像引擎在繪制游戲場(chǎng)景時(shí),通常采用場(chǎng)景圖來(lái)組織管理相關(guān)的場(chǎng)景數(shù)據(jù)。所述場(chǎng)景圖采用一種自頂向下的、分層的樹(shù)狀數(shù)據(jù)結(jié)構(gòu)來(lái)組織場(chǎng)景數(shù)據(jù)。場(chǎng)景圖樹(shù)狀結(jié)構(gòu)的頂部是一個(gè)根節(jié)點(diǎn),從根節(jié)點(diǎn)向下延伸為組節(jié)點(diǎn)或葉節(jié)點(diǎn),從組節(jié)點(diǎn)向下延伸為葉節(jié)點(diǎn)或下一層的組節(jié)點(diǎn),每層的組節(jié)點(diǎn)都可以再向下延伸出葉節(jié)點(diǎn)或下一層的組節(jié)點(diǎn),而所述葉節(jié)點(diǎn)位于場(chǎng)景圖樹(shù)狀結(jié)構(gòu)的最底部,每個(gè)節(jié)點(diǎn)與其延伸出的其他節(jié)點(diǎn)的關(guān)系為父子關(guān)系,每個(gè)節(jié)點(diǎn)都存儲(chǔ)有場(chǎng)景數(shù)據(jù),比如幾何模型、渲染狀態(tài)、空間方位等,其中父節(jié)點(diǎn)中的數(shù)據(jù)信息會(huì)影響到其子節(jié)點(diǎn)。具體到圖像引擎繪制所述游戲場(chǎng)景100時(shí),其可以采用的場(chǎng)景圖請(qǐng)參考圖2示出的場(chǎng)景圖200。所述場(chǎng)景圖200包括根節(jié)點(diǎn)202、家庭影院節(jié)點(diǎn)204、液晶電視節(jié)點(diǎn)206、電視柜節(jié)點(diǎn)208、電視盒節(jié)點(diǎn)210、桌子節(jié)點(diǎn)212、本子節(jié)點(diǎn)214、第一杯子節(jié)點(diǎn)216、第二杯子節(jié)點(diǎn)218以及房間節(jié)點(diǎn)220。其中家庭影院節(jié)點(diǎn)204是組節(jié)點(diǎn),液晶電視節(jié)點(diǎn)206、電視柜節(jié)點(diǎn)208是家庭影院節(jié)點(diǎn)204的子節(jié)點(diǎn),其中液晶電視節(jié)點(diǎn)206為葉節(jié)點(diǎn),電視柜節(jié)點(diǎn)208為組節(jié)點(diǎn),電視盒210是電視柜節(jié)點(diǎn)208的子節(jié)點(diǎn),電視和210也是葉節(jié)點(diǎn);桌子節(jié)點(diǎn)212是組節(jié)點(diǎn),本子節(jié)點(diǎn)214、第一杯子節(jié)點(diǎn)216和第二杯子節(jié)點(diǎn)218是桌子節(jié)點(diǎn)212為葉節(jié)點(diǎn)并作為桌子節(jié)點(diǎn)212的子節(jié)點(diǎn)。一個(gè)組節(jié)點(diǎn)可以擁有一個(gè)或多個(gè)葉節(jié)點(diǎn),而葉節(jié)點(diǎn)則位于場(chǎng)景圖的最底部。場(chǎng)景圖中的組節(jié)點(diǎn)的邏輯關(guān)系、空間方位、渲染狀態(tài)等信息可以影響其子節(jié)點(diǎn),比如桌子節(jié)點(diǎn)212發(fā)生移動(dòng),它也會(huì)影響它的子節(jié)點(diǎn)(比如本子節(jié)點(diǎn)214、第一杯子節(jié)點(diǎn)216和第二杯子節(jié)點(diǎn)218)發(fā)生移動(dòng)。所述場(chǎng)景圖200中的房間節(jié)點(diǎn)220在實(shí)際中也可能是組節(jié)點(diǎn),還擁有其他諸如墻壁之類(lèi)的葉節(jié)點(diǎn)。在實(shí)際的場(chǎng)景圖中,場(chǎng)景圖包括了多種類(lèi)型的節(jié)點(diǎn)以執(zhí)行各種各樣的用戶功能,來(lái)構(gòu)成豐富多彩的游戲。例如,開(kāi)始節(jié)點(diǎn)可以設(shè)置其子節(jié)點(diǎn)可用或者不可用;細(xì)節(jié)層次節(jié)點(diǎn)可以根據(jù)觀察者的距離調(diào)用不同的子節(jié)點(diǎn);變換節(jié)點(diǎn)可以改變子節(jié)點(diǎn)幾何體的坐標(biāo)變換狀態(tài)。面向?qū)ο蟮膱?chǎng)景圖使用繼承的機(jī)制來(lái)提供這種多樣性,所有的節(jié)點(diǎn)類(lèi)都有一個(gè)共有的基類(lèi),同時(shí)各自派生出實(shí)現(xiàn)特定功能的方法。當(dāng)游戲需要繪制場(chǎng)景時(shí),采用某種遍歷方式(比如更新遍歷、揀選遍歷和繪圖遍歷等)遍歷場(chǎng)景圖就可以繪制出需要的場(chǎng)景。但是在具體的場(chǎng)景中,可能會(huì)碰到相同或者類(lèi)似的場(chǎng)景對(duì)象需要構(gòu)建,這種相同或類(lèi)似的場(chǎng)景對(duì)象可以是任何節(jié)點(diǎn),我們以相同或類(lèi)似的物體的幾何信息為例。舉例來(lái)說(shuō),圖1所示的第一杯子112和第二杯子114,假設(shè)第一杯子112和第二杯子114的幾何信息一樣,只有空間方位和渲染狀態(tài)不同,例如在游戲中第一杯子112是一罐可樂(lè)、第二杯子114是一罐雪碧,只需在相同杯子幾何體上貼上不同的圖片就可以實(shí)現(xiàn)。圖3示出了現(xiàn)有技術(shù)中實(shí)現(xiàn)相同或者類(lèi)似場(chǎng)景對(duì)象的管理方法。請(qǐng)參考圖3,在場(chǎng)景圖中采用一個(gè)葉節(jié)點(diǎn)302來(lái)存儲(chǔ)杯子的幾何信息,組節(jié)點(diǎn)304和306分別存儲(chǔ)第一杯子 112和第二杯子114的空間方位和渲染狀態(tài),這樣的好處是實(shí)現(xiàn)了數(shù)據(jù)的共享。在游戲運(yùn)行后實(shí)際渲染場(chǎng)景時(shí),游戲引擎需要遍歷場(chǎng)景圖,并將遍歷到的各節(jié)點(diǎn)的數(shù)據(jù)加載到內(nèi)存中, 在內(nèi)存中產(chǎn)生的關(guān)于第一杯子112的數(shù)據(jù)中包含一份杯子的幾何信息,在內(nèi)存中產(chǎn)生的關(guān)于第二杯子114的數(shù)據(jù)中也包含一份杯子的幾何信息,很顯然這樣就需要為該游戲分配更多的內(nèi)存。當(dāng)游戲中相同和類(lèi)似的場(chǎng)景對(duì)象較多時(shí),比如一些大型游戲在一個(gè)場(chǎng)景中可能存在數(shù)十甚至數(shù)百個(gè)同類(lèi)型野怪或類(lèi)似樹(shù)木等,上述實(shí)現(xiàn)方式就極大增加了游戲場(chǎng)景圖的復(fù)雜度而且內(nèi)存浪費(fèi)比較嚴(yán)重。此外,在內(nèi)存管理上,復(fù)雜的引用關(guān)系將導(dǎo)致內(nèi)存釋放錯(cuò)誤和指針錯(cuò)誤等問(wèn)題。因此,有必要提出一種更優(yōu)地的方案來(lái)解決上述問(wèn)題。
發(fā)明內(nèi)容本部分的目的在于概述本發(fā)明的實(shí)施例的一些方面以及簡(jiǎn)要介紹一些較佳實(shí)施例。在本部分以及本申請(qǐng)的說(shuō)明書(shū)摘要和發(fā)明名稱(chēng)中可能會(huì)做些簡(jiǎn)化或省略以避免使本部分、說(shuō)明書(shū)摘要和發(fā)明名稱(chēng)的目的模糊,而這種簡(jiǎn)化或省略不能用于限制本發(fā)明的范圍。本發(fā)明的一個(gè)目的在于提供一種游戲場(chǎng)景管理方法,通過(guò)添加引用計(jì)數(shù)機(jī)制來(lái)實(shí)現(xiàn)相同或類(lèi)似場(chǎng)景對(duì)象的管理。為了達(dá)到本發(fā)明的目的,本發(fā)明提供一種游戲場(chǎng)景管理方法,用于對(duì)游戲引擎中的場(chǎng)景圖進(jìn)行管理,所述場(chǎng)景圖包括若干具有父子關(guān)系的組節(jié)點(diǎn)和葉節(jié)點(diǎn),部分葉節(jié)點(diǎn)包括有引用計(jì)數(shù),所述方法包括在所述游戲引擎遍歷所述場(chǎng)景圖第一次引用一個(gè)包括引用計(jì)數(shù)的葉節(jié)點(diǎn)時(shí),游戲引擎將所述葉節(jié)點(diǎn)裝載到內(nèi)存空間并獲得一個(gè)地址指針,初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù); 在所述游戲引擎又一次引用所述葉節(jié)點(diǎn)時(shí),所述游戲引擎通過(guò)所述地址指針引用所述葉節(jié)點(diǎn),并增加所述葉節(jié)點(diǎn)的引用計(jì)數(shù);所述游戲引擎對(duì)所述葉節(jié)點(diǎn)的一次引用完畢時(shí),并減少所述葉節(jié)點(diǎn)的引用計(jì)數(shù);和當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)小于其初始化值時(shí),所述游戲引擎釋放所述葉節(jié)點(diǎn)占有的內(nèi)存空間。進(jìn)一步地,所述葉節(jié)點(diǎn)用來(lái)存儲(chǔ)可供復(fù)用的游戲?qū)ο蟮臄?shù)據(jù)。進(jìn)一步地,所述游戲?qū)ο蟮臄?shù)據(jù)為對(duì)象的三維模型。進(jìn)一步地,所述葉節(jié)點(diǎn)可以用vertexbuffer類(lèi)來(lái)實(shí)現(xiàn)。進(jìn)一步地,與所述葉節(jié)點(diǎn)有父子關(guān)系的組節(jié)點(diǎn)用來(lái)存儲(chǔ)空間方位和渲染狀態(tài)。進(jìn)一步地,所述初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù)是指初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù)為1。進(jìn)一步地,所述增加所述葉節(jié)點(diǎn)的引用計(jì)數(shù)是指將所述葉節(jié)點(diǎn)的引用計(jì)數(shù)加1。進(jìn)一步地,所述減少所述葉節(jié)點(diǎn)的引用計(jì)數(shù)是指將所述葉節(jié)點(diǎn)的引用計(jì)數(shù)減1。
進(jìn)一步地,所述當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)小于其初始化值時(shí)是指當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)等于0時(shí)。與現(xiàn)有技術(shù)相比,本發(fā)明中的游戲場(chǎng)景管理方法通過(guò)為葉節(jié)點(diǎn)添加引用計(jì)數(shù),以此來(lái)實(shí)現(xiàn)相同或類(lèi)似場(chǎng)景對(duì)象的管理,從而可以提高內(nèi)存利用率。游戲場(chǎng)景中包含的類(lèi)似對(duì)象越多,本發(fā)明的效果越明顯。

結(jié)合參考附圖及接下來(lái)的詳細(xì)描述,本發(fā)明將更容易理解,其中同樣的附圖標(biāo)記對(duì)應(yīng)同樣的結(jié)構(gòu)部件,其中圖1示出了一個(gè)現(xiàn)有技術(shù)中的游戲場(chǎng)景;圖2示出了現(xiàn)有技術(shù)中的圖1示出游戲場(chǎng)景的場(chǎng)景圖;圖3示出了現(xiàn)有技術(shù)中實(shí)現(xiàn)相同或者類(lèi)似場(chǎng)景對(duì)象的管理方法;圖4示出了本發(fā)明中的游戲場(chǎng)景管理方法在一個(gè)實(shí)施例中的方法流程圖;圖5示出了本發(fā)明中的游戲場(chǎng)景管理方法在一個(gè)實(shí)施例中的應(yīng)用示意圖;和圖6示出了利用本發(fā)明實(shí)現(xiàn)的包括類(lèi)似場(chǎng)景對(duì)象的游戲場(chǎng)景。
具體實(shí)施方式本發(fā)明的詳細(xì)描述主要通過(guò)程序、步驟、邏輯塊、過(guò)程或其他象征性的描述來(lái)直接或間接地模擬本發(fā)明技術(shù)方案的運(yùn)作。為透徹的理解本發(fā)明,在接下來(lái)的描述中陳述了很多特定細(xì)節(jié)。而在沒(méi)有這些特定細(xì)節(jié)時(shí),本發(fā)明則可能仍可實(shí)現(xiàn)。所屬領(lǐng)域內(nèi)的技術(shù)人員使用此處的這些描述和陳述向所屬領(lǐng)域內(nèi)的其他技術(shù)人員有效的介紹他們的工作本質(zhì)。換句話說(shuō),為避免混淆本發(fā)明的目的,由于熟知的方法、程序、成分和電路已經(jīng)很容易理解,因此它們并未被詳細(xì)描述。此處所稱(chēng)的“一個(gè)實(shí)施例”或“實(shí)施例”是指可包含于本發(fā)明至少一個(gè)實(shí)現(xiàn)方式中的特定特征、結(jié)構(gòu)或特性。在本說(shuō)明書(shū)中不同地方出現(xiàn)的“在一個(gè)實(shí)施例中”并非均指同一個(gè)實(shí)施例,也不是單獨(dú)的或選擇性的與其他實(shí)施例互相排斥的實(shí)施例。此外,表示一個(gè)或多個(gè)實(shí)施例的方法、流程圖或功能框圖中的模塊順序并非固定的指代任何特定順序,也不構(gòu)成對(duì)本發(fā)明的限制。本發(fā)明的游戲場(chǎng)景管理方法可以利用計(jì)算機(jī)結(jié)合相關(guān)程序?qū)崿F(xiàn)成為一個(gè)場(chǎng)景圖系統(tǒng),位于整個(gè)游戲引擎的場(chǎng)景管理位置,通過(guò)對(duì)場(chǎng)景圖中實(shí)現(xiàn)相同或類(lèi)似場(chǎng)景對(duì)象需要或者其他原因?qū)е轮貜?fù)使用的葉節(jié)點(diǎn)加入引用計(jì)數(shù)機(jī)制。實(shí)現(xiàn)了在數(shù)據(jù)共享的同時(shí),降低游戲場(chǎng)景圖復(fù)雜度、提高內(nèi)存管理效率的目的。在具體實(shí)施時(shí),在場(chǎng)景圖中首先對(duì)相同或類(lèi)似場(chǎng)景對(duì)象的有關(guān)數(shù)據(jù)設(shè)計(jì)為帶有引用計(jì)數(shù)的葉節(jié)點(diǎn)。在一個(gè)實(shí)施例中,所述葉節(jié)點(diǎn)可以用vertexbuffer類(lèi)來(lái)實(shí)現(xiàn)。圖4示出了本發(fā)明一種游戲場(chǎng)景管理方法400在一個(gè)實(shí)施例中的方法流程圖。請(qǐng)參考圖4,所述方法 400包括如下步驟。步驟402,在所述游戲引擎遍歷所述場(chǎng)景圖第一次引用一個(gè)包括引用計(jì)數(shù)的葉節(jié)點(diǎn)時(shí),游戲引擎將所述葉節(jié)點(diǎn)裝載到內(nèi)存空間并獲得一個(gè)地址指針,初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù)為1 ;
步驟404,在所述游戲引擎又一次引用所述葉節(jié)點(diǎn)時(shí),所述游戲引擎通過(guò)所述地址指針引用所述葉節(jié)點(diǎn),并將所述葉節(jié)點(diǎn)的引用計(jì)數(shù)加1 ;步驟406,所述游戲引擎對(duì)所述葉節(jié)點(diǎn)的一次引用完畢時(shí),并將所述葉節(jié)點(diǎn)的引用計(jì)數(shù)減1 ;步驟408,當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)等于0時(shí),所述游戲引擎釋放所述葉節(jié)點(diǎn)占有的內(nèi)存空間。圖5示出了本發(fā)明一種游戲引擎的場(chǎng)景管理方法的一個(gè)實(shí)施例中的應(yīng)用示意圖。 請(qǐng)參考圖5,在圖1所示的第一杯子112和第二杯子114采用本發(fā)明的實(shí)現(xiàn)方式是場(chǎng)景圖采用一個(gè)葉節(jié)點(diǎn)502來(lái)存儲(chǔ)杯子的幾何信息,組節(jié)點(diǎn)504和506分別存儲(chǔ)第一杯子112和第二杯子114的空間方位和渲染狀態(tài),在構(gòu)建葉節(jié)點(diǎn)502時(shí)就同時(shí)添加引用計(jì)數(shù),當(dāng)游戲引擎需要顯示所述場(chǎng)景100時(shí),遍歷到第一杯子112這條路徑時(shí),就會(huì)在內(nèi)存中創(chuàng)建葉節(jié)點(diǎn) 502的存儲(chǔ)空間,并將引用計(jì)數(shù)初始化為1 ;等遍歷到第二杯子506這條路徑時(shí),就會(huì)通過(guò)指針引用內(nèi)存中的葉節(jié)點(diǎn)502,并將引用計(jì)數(shù)設(shè)為2 ;當(dāng)游戲場(chǎng)景切換或者有關(guān)杯子事件觸發(fā) (比如杯子被壓扁等)時(shí),第一杯子112或者第二杯子114不需要在游戲場(chǎng)景中出現(xiàn)了,游戲引擎就減少相應(yīng)數(shù)量的引用計(jì)數(shù),當(dāng)引用計(jì)數(shù)為0時(shí),游戲引擎就會(huì)將所述葉節(jié)點(diǎn)的內(nèi)存空間釋放。圖6示出了利用本發(fā)明實(shí)現(xiàn)的包括類(lèi)似場(chǎng)景對(duì)象的游戲場(chǎng)景,其中所述場(chǎng)景600 包括第一人物620以及第一人物620手中的第一把刀622和第二把刀624 ;第二人物640以及第二人物640手中的第三把刀642和第四把刀644。其中第一把刀622和第二把刀6M 是黑色;第三把刀642和第四把刀644是黑白色相間。由于第一把刀622、第二把刀624、第三把刀642和第四把刀644的幾何信息都一樣,所以我們可以用一個(gè)葉節(jié)點(diǎn)來(lái)儲(chǔ)存所述刀的幾何信息并添加引用計(jì)數(shù),第一把刀622、第二把刀624、第三把刀642和第四把刀644都作為組節(jié)點(diǎn)分別存儲(chǔ)相關(guān)的空間位置和渲染狀態(tài),然后引用所述葉節(jié)點(diǎn)儲(chǔ)存的刀的幾何信息就可以實(shí)現(xiàn)四把刀共用一個(gè)內(nèi)存共享數(shù)據(jù),大大減少了內(nèi)存占有率。當(dāng)一個(gè)游戲內(nèi)的類(lèi)似場(chǎng)景對(duì)象較多時(shí),使用這種方法的效果更為明顯。上述說(shuō)明已經(jīng)充分揭露了本發(fā)明的具體實(shí)施方式
。需要指出的是,熟悉該領(lǐng)域的技術(shù)人員對(duì)本發(fā)明的具體實(shí)施方式
所做的任何改動(dòng)均不脫離本發(fā)明的權(quán)利要求書(shū)的范圍。 相應(yīng)地,本發(fā)明的權(quán)利要求的范圍也并不僅僅局限于所述具體實(shí)施方式
。
權(quán)利要求
1.一種游戲場(chǎng)景管理方法,用于對(duì)游戲引擎中的場(chǎng)景圖進(jìn)行管理,所述場(chǎng)景圖包括若干具有父子關(guān)系的組節(jié)點(diǎn)和葉節(jié)點(diǎn),部分葉節(jié)點(diǎn)包括有引用計(jì)數(shù),其特征在于,其包括在所述游戲引擎遍歷所述場(chǎng)景圖第一次引用一個(gè)包括引用計(jì)數(shù)的葉節(jié)點(diǎn)時(shí),游戲引擎將所述葉節(jié)點(diǎn)裝載到內(nèi)存空間并獲得一個(gè)地址指針,初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù);在所述游戲引擎又一次引用所述葉節(jié)點(diǎn)時(shí),所述游戲引擎通過(guò)所述地址指針引用所述葉節(jié)點(diǎn),并增加所述葉節(jié)點(diǎn)的引用計(jì)數(shù);所述游戲引擎對(duì)所述葉節(jié)點(diǎn)的一次引用完畢時(shí),并減少所述葉節(jié)點(diǎn)的引用計(jì)數(shù);和當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)小于其初始化值時(shí),所述游戲引擎釋放所述葉節(jié)點(diǎn)占有的內(nèi)存空間。
2.根據(jù)權(quán)利要求1所述的游戲場(chǎng)景管理方法,其特征在于所述葉節(jié)點(diǎn)用來(lái)存儲(chǔ)可供復(fù)用的游戲?qū)ο蟮臄?shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的游戲場(chǎng)景管理方法,其特征在于所述游戲?qū)ο蟮臄?shù)據(jù)為對(duì)象的三維模型。
4.根據(jù)權(quán)利要求1所述的游戲引擎的場(chǎng)景管理方法,其特征在于所述葉節(jié)點(diǎn)可以用 vertexbuffer 類(lèi)來(lái)實(shí)現(xiàn)。
5.根據(jù)權(quán)利要求1所述的游戲引擎的場(chǎng)景管理方法,其特征在于與所述葉節(jié)點(diǎn)有父子關(guān)系的組節(jié)點(diǎn)用來(lái)存儲(chǔ)空間方位和渲染狀態(tài)。
6.根據(jù)權(quán)利要求1所述的游戲引擎的場(chǎng)景管理方法,其特征在于所述初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù)是指初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù)為1。
7.根據(jù)權(quán)利要求1所述的游戲引擎的場(chǎng)景管理方法,其特征在于所述增加所述葉節(jié)點(diǎn)的引用計(jì)數(shù)是指將所述葉節(jié)點(diǎn)的引用計(jì)數(shù)加1。
8.根據(jù)權(quán)利要求1所述的游戲引擎的場(chǎng)景管理方法,其特征在于所述減少所述葉節(jié)點(diǎn)的引用計(jì)數(shù)是指將所述葉節(jié)點(diǎn)的引用計(jì)數(shù)減1。
9.根據(jù)權(quán)利要求1所述的游戲引擎的場(chǎng)景管理方法,其特征在于所述當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)小于其初始化值時(shí)是指當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)等于0時(shí)。
全文摘要
本發(fā)明揭露了一種游戲場(chǎng)景管理方法,用于對(duì)游戲引擎中的場(chǎng)景圖進(jìn)行管理,所述場(chǎng)景圖包括若干具有父子關(guān)系的組節(jié)點(diǎn)和葉節(jié)點(diǎn),部分葉節(jié)點(diǎn)包括有引用計(jì)數(shù),其包括在所述游戲引擎遍歷所述場(chǎng)景圖第一次引用一個(gè)包括引用計(jì)數(shù)的葉節(jié)點(diǎn)時(shí),游戲引擎將所述葉節(jié)點(diǎn)裝載到內(nèi)存空間并獲得一個(gè)地址指針,初始化所述葉節(jié)點(diǎn)的引用計(jì)數(shù);在所述游戲引擎又一次引用所述葉節(jié)點(diǎn)時(shí),所述游戲引擎通過(guò)所述地址指針引用所述葉節(jié)點(diǎn),并增加所述葉節(jié)點(diǎn)的引用計(jì)數(shù);所述游戲引擎對(duì)所述葉節(jié)點(diǎn)的一次引用完畢時(shí),并減少所述葉節(jié)點(diǎn)的引用計(jì)數(shù);和當(dāng)所述葉節(jié)點(diǎn)的引用計(jì)數(shù)小于其初始化值時(shí),所述游戲引擎釋放所述葉節(jié)點(diǎn)占有的內(nèi)存空間。
文檔編號(hào)G06F19/00GK102214263SQ20101014373
公開(kāi)日2011年10月12日 申請(qǐng)日期2010年4月12日 優(yōu)先權(quán)日2010年4月12日
發(fā)明者朱波, 梁久禎, 袁旭東, 許多 申請(qǐng)人:無(wú)錫科利德斯科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1