精靈繪制方法、裝置及游戲系統的制作方法
【技術領域】
[0001] 本發明設及通信領域,具體而言,設及一種精靈繪制方法、裝置及游戲系統。
【背景技術】
[0002] 在游戲中,存在一些場景,在運些場景中存在大量精靈需要繪制,如果對精靈一個 一個進行繪制,不僅需要浪費大量的時間,而且也不現實。因此,在需要對大量精靈進行繪 審Ij時,需要進行批量繪制W達到合并clrawcall的目的。例如,在相關技術中,Coco2dx.2.x版 本自帶的CCSpriteBatcheNode在進行批繪制時,要求所有子節點繪制紋理及繪制狀態等必 須完全相同,運需要邏輯層進行精屯、控制,不僅煩雜,而且效率不高。
[0003] 因此,在相關技術中,對精靈的批量繪制,需要邏輯層煩雜的控制,不僅大大浪費 了邏輯層的控制資源,而且繪制效率也不高。
【發明內容】
[0004] 本發明提供了一種精靈繪制方法、裝置及游戲系統,W至少解決相關技術中對精 靈的批量繪制,需要邏輯層煩雜的控制,不僅大大浪費了邏輯層的控制資源,而且繪制效率 也不高的問題。
[0005] 根據本發明的一個方面,提供了一種精靈繪制方法,包括:依據精靈的全局Z值對 待繪制精靈進行排序,其中,所述精靈的全局Z值用于標識所述精靈被遮擋的容易程度;確 定排序后各個待繪制精靈的材質;根據確定的所述各個待繪制精靈的材質,對排序后的待 繪制精靈進行批量繪制。
[0006] 優選地,在依據精靈的全局Z值對所述待繪制精靈進行排序之前,還包括:對所述 待繪制精靈進行緩存。
[0007] 優選地,確定排序后各個待繪制精靈的所述材質包括:獲取所述精靈的紋理屬性, 所述精靈的著色化ader屬性,所述精靈的混合方式屬性;將獲取的所述紋理屬性,所述 化ader屬性,和所述混合方式屬性統一為所述材質。
[000引優選地,根據確定的所述各個待繪制精靈的材質,對排序后的所述待繪制精靈進 行批量繪制包括:判斷當前時間是否達到flush時機,其中,所述flush時機包括:非精靈節 點繪制時,或者,一帖結束時;在判斷結果為是的情況下,在所述當前時間,根據確定的所述 各個待繪制精靈的材質,對排序后的所述待繪制精靈進行批量繪制。
[0009] 優選地,根據確定的所述各個待繪制精靈的所述材質,對排序后的所述待繪制精 靈進行批量繪制包括:判斷排序后的所述待繪制精靈中相鄰待繪制精靈的材質是否相同; 在判斷結果為是的情況下,將相鄰的材質相同的待繪制精靈進行合并繪制。
[0010] 優選地,所述待繪制精靈的個數不少于200個。
[OOW 根據本發明的另一方面,提供了一種精靈繪制裝置,包括:排序模塊,用于依據精 靈的全局Z值對待繪制精靈進行排序,其中,所述精靈的全局Z值用于標識所述精靈被遮擋 的容易程度;確定模塊,用于確定排序后各個待繪制精靈的材質;繪制模塊,用于根據確定 的所述各個待繪制精靈的材質,對排序后的待繪制精靈進行批量繪制。
[0012] 優選地,該裝置還包括:緩存模塊,用于對所述待繪制精靈進行緩存。
[0013] 優選地,所述確定模塊包括:獲取單元,用于獲取所述精靈的紋理屬性,所述精靈 的著色化ader屬性,所述精靈的混合方式屬性;統一單元,用于將獲取的所述紋理屬性,所 述化ader屬性,和所述混合方式屬性統一為所述材質。
[0014] 優選地,所述繪制模塊包括:第一判斷單元,用于判斷當前時間是否達到flush時 機,其中,所述flush時機包括:非精靈節點繪制時,或者,一帖結束時;第一繪制單元,用于 在所述第一判斷單元的判斷結果為是的情況下,在所述當前時間,根據確定的所述各個待 繪制精靈的材質,對排序后的所述待繪制精靈進行批量繪制。
[001引優選地,所述繪制模塊包括:第二判斷單元,用于判斷排序后的所述待繪制精靈中 相鄰待繪制精靈的材質是否相同;第二繪制單元,用于在所述第二判斷單元的判斷結果為 是的情況下,將相鄰的材質相同的待繪制精靈進行合并繪制。
[0016] 根據本發明的還一方面,提供了一種游戲系統,包括上述任一項所述的精靈繪制 裝置。
[0017] 通過本發明,采用依據精靈的全局Z值對待繪制精靈進行排序,其中,所述精靈的 全局Z值用于標識所述精靈被遮擋的容易程度;確定排序后各個待繪制精靈的材質;根據確 定的所述各個待繪制精靈的材質,對排序后的待繪制精靈進行批量繪制,解決了相關技術 中對精靈的批量繪制,需要邏輯層煩雜的控制,不僅大大浪費了邏輯層的控制資源,而且繪 制效率也不高的問題,進而達到了有效降低CPU的消耗,W及提高精靈繪制效率的效果。
【附圖說明】
[0018] 此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發 明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中: [00 19]圖1是根據本發明實施例的精靈繪審巧法的流程圖;
[0020] 圖2是根據本發明實施例的排序前相同材質精靈非連續分布的示意圖;
[0021] 圖3是根據本發明實施例的排序后相同材質精靈連續分布的示意圖;
[0022] 圖4是根據本發明實施例的排序前相同材質精靈非連續跨層級分布的示意圖;
[0023] 圖5是根據本發明實施例的排序后相同材質精靈連續分布的示意圖;
[0024] 圖6是根據本發明實施例的在屏幕平鋪繪制滿屏帶角度旋轉的精靈,在屏幕顯示 為大小64*64,精靈個數為48的情況下,分別連續繪制和交叉繪制時分別對應的示意圖;
[0025] 圖7是根據本發明實施例的在屏幕平鋪繪制滿屏帶角度旋轉的精靈,在屏幕顯示 大小為32*32,精靈個數為150的情況下,分別連續繪制和交叉繪制時分別對應的示意圖;
[0026] 圖8是根據本發明實施例的在屏幕平鋪繪制滿屏帶角度旋轉的精靈,在屏幕顯示 大小為10*10,精靈個數1500的情況下,分別連續繪制和交叉繪制時分別對應的示意圖;
[0027] 圖9是根據本發明實施例的精靈繪制裝置的結構框圖;
[0028] 圖10是根據本發明實施例的精靈繪制裝置的優選結構框圖;
[0029] 圖11是根據本發明實施例的精靈繪制裝置中確定模塊94的優選結構框圖;
[0030] 圖12是根據本發明實施例的精靈繪制裝置中繪制模塊96的優選結構框圖一;
[0031] 圖13是根據本發明實施例的精靈繪制裝置中繪制模塊96的優選結構框圖二;
[0032] 圖14是根據本發明實施例的游戲系統的結構框圖。
【具體實施方式】
[0033] 下文中將參考附圖并結合實施例來詳細說明本發明。需要說明的是,在不沖突的 情況下,本申請中的實施例及實施例中的特征可W相互組合。
[0034] 需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語"第一"、"第 二"等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。
[0035] 在本實施例中提供了一種精靈繪制方法,圖1是根據本發明實施例的精靈繪制方 法的流程圖,如圖1所示,該流程包括如下步驟:
[0036] 步驟S102,依據精靈的全局Z值對待繪制精靈進行排序,其中,精靈的全局Z值用于 標識精靈被遮擋的容易程度;
[0037] 步驟S104,確定排序后各個待繪制精靈的材質;
[0038] 步驟S106,根據確定的各個待繪制精靈的材質,對排序后的待繪制精靈進行批量 繪制。
[0039] 通過上述步驟,依據全局Z值對精靈進行排序,