国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于圖形繪制引擎的資源設(shè)置方法和裝置的制作方法

      文檔序號:6577574閱讀:130來源:國知局
      專利名稱:基于圖形繪制引擎的資源設(shè)置方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種圖形繪制引擎使用資源的設(shè)置方法和裝置,特別涉及一種 基于圖形繪制引擎實現(xiàn)資源設(shè)置的方法、裝置。
      背景技術(shù)
      圖形繪制引擎實質(zhì)上是操作系統(tǒng)把硬件顯示設(shè)備封裝的一組軟件接口,操 作系統(tǒng)和圖形應(yīng)用程序不能直接調(diào)用顯示設(shè)備和其中的圖形加速功能,必須通 過調(diào)用圖形繪制引擎的接口來實現(xiàn)各種圖形繪制功能操作。
      圖形繪制引擎作為一種通用的平臺,支持對三維模型、聲音、文本、圖像、 視頻等各種格式文件的操作,比如,圖形繪制引擎可以通過顯示設(shè)備驅(qū)動程序 來操作顯示設(shè)備,為操作系統(tǒng)和各種應(yīng)用程序提供各種顯示用接口函數(shù)和顯示 功能,利用這些接口函數(shù)和功能,操作系統(tǒng)和應(yīng)用程序不需要知道計算機用的 是什么顯示設(shè)備,就可以通過調(diào)用圖形繪制引擎的接口函數(shù)和功能實現(xiàn)顯示操 作。通過這種分工合作,使軟件開發(fā)者不需要考慮不同的顯示硬件的型號差別, 性能差異,而只關(guān)心操作系統(tǒng)封裝的圖形繪制引擎使用方法即可,大大減輕了 開發(fā)難度且提高了軟件的可移植性。目前主要的圖形繪制引擎主要有微軟提供 白勺GDI、GDI+、DirectDraw、Direct3D。禾口 SGI公司制定白勺0penGl (Open Graphics Library)。
      圖形應(yīng)用程序的典型應(yīng)用有游戲、視頻播放器等。游戲是圖形應(yīng)用程序的 一種應(yīng)用類別。目前市面上游戲都是利用圖形繪制引擎來繪制游戲畫面的,游 戲的繪制原理是利用圖形繪制引擎提供的接口將各種游戲畫面素材按照指定 的區(qū)域和一定的速度(比如每秒繪制60幀或30幀)不停輸出到圖形繪制引擎的顯示緩沖,然后由圖形繪制引擎將顯示緩沖的內(nèi)容輸出到屏幕顯示,這樣使人 看到游戲場景中連續(xù)逼真的環(huán)境和人物動作。
      但是,在當(dāng)前操作系統(tǒng)、圖形應(yīng)用程序、圖形繪制引擎分工合作的環(huán)境中, 若想實現(xiàn)資源擴展,修改某些輸出資源,如應(yīng)用程序中的三維模型、聲音、圖 像等內(nèi)容,則需要在已有的圖形應(yīng)用程序基礎(chǔ)上進行大量開發(fā),不僅極大地消 耗了開發(fā)成本和開發(fā)周期,而且破壞了圖形應(yīng)用程序或圖形繪制引擎的完整 性,易造成各種漏洞、系統(tǒng)兼容性差等問題大量出現(xiàn)。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的目的在于提供一種基于圖形繪制引擎的資源設(shè)置方法 和裝置,以使其在不修改圖形應(yīng)用程序本身邏輯的情況下,實現(xiàn)圖形繪制引擎 使用資源的設(shè)置。
      為實現(xiàn)上述目的,本發(fā)明提供了如下方案
      一種基于圖形繪制引擎的資源設(shè)置方法,其包括取得圖形繪制引擎接口 控制權(quán);利用圖形繪制引擎接口控制權(quán)捕獲資源設(shè)置的時機;根據(jù)圖形應(yīng)用程 序中圖形繪制引擎實例的運行期特征信息進行資源設(shè)置。
      優(yōu)選的,資源設(shè)置時機達到后,用運行期特征信息作為如何實施資源設(shè)置 的依據(jù)。
      優(yōu)選的,所述的資源設(shè)置的方法包括對資源進行修改;用新創(chuàng)建的資源 替代原資源;插入一個或多個新創(chuàng)建的資源。
      優(yōu)選的,所述的利用圖形繪制引擎接口控制權(quán)捕獲資源設(shè)置時機的方法包 括當(dāng)圖形應(yīng)用程序調(diào)用圖形繪制引擎接口對資源進行設(shè)置時,利用對圖形繪 制引擎接口的控制權(quán)捕獲該設(shè)置過程,并以是否捕獲到該設(shè)置過程作為是否可 以對所述資源進行設(shè)置操作的標(biāo)準(zhǔn)。優(yōu)選的,所述的取得圖形繪制引擎接口控制權(quán)的方法是以代理方式實現(xiàn) 的,該代理方式包括實現(xiàn)可以被圖形應(yīng)用程序當(dāng)作原有圖形繪制引擎一樣來 調(diào)用的代理圖形繪制引擎,用該代理圖形繪制引擎來替換圖形應(yīng)用程序當(dāng)前的 圖形繪制引擎,當(dāng)使用圖形繪制引擎的圖形應(yīng)用程序調(diào)用圖形繪制引擎的某個 接口時,實際執(zhí)行的是代理圖形繪制引擎接口,由代理圖形繪制引擎接口負責(zé) 完成實際的圖形繪制引擎接口的工作。
      優(yōu)選的,所述的取得圖形繪制引擎接口控制權(quán)的方法是以修改接口地址的 方式實現(xiàn)的,該修改接口地址的方式是將圖形繪制引擎接口地址指向附加應(yīng) 用實現(xiàn)的接口地址。
      優(yōu)選的,所述的取得圖形繪制引擎接口控制權(quán)的方法是以修改接口內(nèi)容的 方式實現(xiàn)的,該修改接口內(nèi)容的方式是將原圖形繪制引擎接口的指令內(nèi)容修 改為附加應(yīng)用程序?qū)崿F(xiàn)的指令內(nèi)容。
      一種基于圖形繪制引擎的資源設(shè)置裝置,其包括接口控制單元,用于取 得圖形繪制引擎接口控制權(quán);監(jiān)視單元,用于利用圖形繪制引擎接口控制權(quán)捕 獲資源設(shè)置的時機;配置單元,根據(jù)圖形應(yīng)用程序中圖形繪制引擎實例的運行 期特征信息對進行資源設(shè)置。
      優(yōu)選的,根據(jù)圖形應(yīng)用程序?qū)D形繪制引擎的實際運行行為,所述的配置 單元可以具有一判斷模塊,在檢測到資源設(shè)置的時機達到后,判斷是否需要實 施資源設(shè)置動作。
      優(yōu)選的,所述的實施的資源設(shè)置包括對資源進行修改;用新創(chuàng)建的資源 替代原資源;插入一個或多個新創(chuàng)建的資源。優(yōu)選的,在圖形應(yīng)用程序調(diào)用圖 形繪制引擎接口對資源進行設(shè)置時,利用對圖形繪制引擎接口的控制權(quán)捕獲該 設(shè)置過程,并以是否捕獲到該設(shè)置過程作為是否可以對所述資源進行設(shè)置操作 的標(biāo)準(zhǔn)。優(yōu)選的,所述的接口控制單元以代理方式取得圖形繪制引擎接口控制權(quán), 該接口控制單元實現(xiàn)可以被圖形應(yīng)用程序當(dāng)作原有圖形繪制引擎一樣來調(diào)用 的代理圖形繪制引擎,用該代理圖形繪制引擎來替換圖形應(yīng)用程序當(dāng)前的圖形 繪制引擎,當(dāng)使用圖形繪制引擎的圖形應(yīng)用程序調(diào)用圖形繪制引擎的某個接口 時,實際執(zhí)行的是代理圖形繪制引擎接口,由代理圖形繪制引擎接口負責(zé)完成 實際的圖形繪制引擎接口的工作。
      優(yōu)選的,所述的接口控制單元以修改接口地址的方式取得圖形繪制引擎接 口控制權(quán),該接口控制單元將圖形繪制引擎接口地址指向附加應(yīng)用實現(xiàn)的接口 地址。
      優(yōu)選的,所述的接口控制單元以修改接口內(nèi)容的方式取得圖形繪制引擎接 口控制權(quán),該接口控制單元將原圖形繪制引擎接口的指令內(nèi)容修改為附加應(yīng)用 程序?qū)崿F(xiàn)的指令內(nèi)容。
      根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果
      本發(fā)明將用于擴展或修改圖形應(yīng)用程序資源的附加應(yīng)用程序以獨立于所 述圖形應(yīng)用程序和圖形繪制引擎的形式設(shè)置,通過對圖形繪制引擎接口的控制 實現(xiàn)資源自由設(shè)置,在不修改圖形應(yīng)用程序的前提下,為滿足附加定制應(yīng)用的 需求提供有效的解決方案;
      附加應(yīng)用程序獨立設(shè)置保證了圖形應(yīng)用程序、圖形繪制引擎的完整性,避 免了破壞程序本身邏輯及由其造成的兼容性降低等問題,且在卸載附加應(yīng)用程 序后對圖形應(yīng)用程序、圖形繪制引擎不會造成任何影響。


      下面將參照在附圖中所表示的非限制性實施例來進一步說明本發(fā)明,其
      中圖1是本發(fā)明實施例提供的方法的流程圖; 圖2是本發(fā)明實施例提供的裝置的示意圖3是圖2所示的裝置與圖形應(yīng)用程序、圖形繪制引擎間的結(jié)構(gòu)示意圖。
      具體實施例方式
      為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
      對本發(fā)明作進一步詳細的說明。
      本發(fā)明實施例提供的對圖形繪制引擎使用資源設(shè)置的方法包括以下步驟 S110:附加應(yīng)用程序取得圖形繪制引擎接口控制權(quán);
      上述的附加應(yīng)用程序是獨立設(shè)置于圖形應(yīng)用程序、圖形繪制引擎外的第三 方軟件,該附加應(yīng)用程序在使用圖形繪制引擎的應(yīng)用中,攔截圖形繪制引擎的 接口調(diào)用,從而接管了圖形繪制引擎的接口控制權(quán),使圖形繪制引擎接口的調(diào) 用都要以附加應(yīng)用程序的邏輯實現(xiàn)相應(yīng)的實際接口的調(diào)用。
      S130:附加應(yīng)用程序利用圖形繪制引擎接口控制權(quán)捕獲資源設(shè)置的時機;
      在圖形應(yīng)用程序設(shè)置資源的過程中,由于圖形應(yīng)用程序是通過調(diào)用圖形繪 制引擎的資源設(shè)置接口來設(shè)置各種資源的,而附加應(yīng)用取得了圖形繪制引擎的 接口控制權(quán),且其具有自定義的資源設(shè)置接口,因此當(dāng)圖形應(yīng)用程序向圖形繪 制引擎的資源設(shè)置接口發(fā)出調(diào)用指令時,本發(fā)明的附加應(yīng)用程序通過接管的圖 形繪制引擎接口控制權(quán)捕獲資源設(shè)置的時機,使其直接跳到附加應(yīng)用程序的資 源設(shè)置接口來執(zhí)行。
      S150:根據(jù)圖形應(yīng)用程序中圖形繪制引擎實例的運行期特征信息進行資源
      數(shù)據(jù)的設(shè)置。
      上述的特征信息包括資源的數(shù)據(jù)標(biāo)識符(如數(shù)據(jù)自定義特征碼、數(shù)據(jù)散列 碼、數(shù)據(jù)校驗和)、資源的屬性(表明該資源是模型資源,還是圖像資源,或是音頻資源、以及可通過圖形繪制引擎接口控制的設(shè)備資源),圖形繪制引擎實 例的運行狀態(tài)信息(如鏡頭變換數(shù)據(jù)、世界變換數(shù)據(jù)),圖形繪制引擎實例的 運行行為信息。上述的資源包括圖形繪制引擎實例中使用的模型數(shù)據(jù)、圖像數(shù) 據(jù)、音頻數(shù)據(jù),以及可通過圖形繪制引擎接口控制的設(shè)備運行參數(shù)。
      上述的圖形繪制引擎實例的運行行為信息指圖形應(yīng)用程序?qū)D形繪制引 擎接口的調(diào)用特征,包括某個或某些特定的接口被調(diào)用、被調(diào)用接口的調(diào)用參 數(shù)、被調(diào)用接口的調(diào)用順序、以及調(diào)用次數(shù)。
      上述的運行期內(nèi)執(zhí)行的資源相關(guān)的調(diào)用包括紋理設(shè)置指令、渲染狀態(tài)設(shè)置 指令、鏡頭變換設(shè)置指令、模型變換設(shè)置指令等等,相應(yīng)的,特征信息包括資 源調(diào)用指令中的參數(shù)數(shù)據(jù)信息、被各指令設(shè)置的圖形繪制引擎中的各參數(shù)數(shù)據(jù) 信息、被調(diào)用的指令本身以及指令的操作對象的特征等資源相關(guān)的可辨識信 息。
      上述資源的特征信息可以是唯一代表某一個位圖的特征碼,也可以是代表 某個時刻描述圖形繪制引擎行為的參數(shù)數(shù)據(jù),本發(fā)明的附加應(yīng)用程序可以通過
      計算或提取等方式主動或被動地得到這些特征信息。上述指令及特征信息的表 述僅為舉例說明,并非用以限定。
      所述的附加應(yīng)用程序可以根據(jù)特征信息識別到圖形應(yīng)用程序在操作某個 資源或在執(zhí)行一組特定任務(wù)的操作,再利用識別結(jié)果對其進行相應(yīng)的設(shè)置工 作,實現(xiàn)設(shè)置資源和定制行為的目的。
      具體而言,本發(fā)明的方法還可以包括以下步驟
      S140:獲取圖形應(yīng)用程序中圖形繪制引擎實例的運行期特征信息;禾P/或 S120:附加應(yīng)用程序加載資源數(shù)據(jù)列表和與特征信息對應(yīng)的目標(biāo)數(shù)據(jù)。 附加應(yīng)用程序從本地磁盤、光盤、外部存儲設(shè)備、網(wǎng)絡(luò)等各種渠道加載資 源數(shù)據(jù)列表和各種用于設(shè)置資源的目標(biāo)數(shù)據(jù),在該資源數(shù)據(jù)列表中建立有目標(biāo)數(shù)據(jù)和特征信息的一一對應(yīng)關(guān)系。
      利用資源數(shù)據(jù)列表的一一對應(yīng)關(guān)系,附加應(yīng)用程序可以在步驟S150中以
      特征信息為查詢詞,在資源數(shù)據(jù)列表中找到與其對應(yīng)的目標(biāo)數(shù)據(jù),再利用目標(biāo) 數(shù)據(jù)對資源進行設(shè)置,從而使圖形應(yīng)用程序本應(yīng)調(diào)用某特定資源,結(jié)果調(diào)用的 是與該特定資源的特征信息對應(yīng)的目標(biāo)數(shù)據(jù)。至此,附加應(yīng)用程序調(diào)用圖形繪 制弓I擎的資源設(shè)置接口完成了資源設(shè)置操作。
      S160:圖形繪制引擎對目標(biāo)數(shù)據(jù)進行設(shè)置并輸出。
      在本發(fā)明具體實施例中,圖形繪制引擎以目標(biāo)數(shù)據(jù)替代圖形應(yīng)用程序欲調(diào) 用的資源迸行設(shè)置并輸出,從而改變了圖形應(yīng)用程序調(diào)用的部分或全部資源或 改變圖形應(yīng)用程序的繪制行為,實現(xiàn)了對圖形應(yīng)用程序的擴展。
      具體而言,上述設(shè)置資源數(shù)據(jù)的具體實現(xiàn)方式請參見代碼說明l所示。另
      需說明的是,在本發(fā)明說明書中的代碼說明均用于表現(xiàn)本發(fā)明的實現(xiàn)手段,即 不代表其具有唯一性,也非用于限定本發(fā)明。
      代碼說明1:設(shè)置資源數(shù)據(jù)_
      VOID ModifyResOLPVOID lpResBuf)
      DWORD dwResID;〃資源的特征信息
      〃得到該資源的特征信息 dwResID = GetResID(lpResBuf);
      〃根據(jù)特征信息判斷該資源是否需要設(shè)置 if (IsModify(dwResID) = TRUE)LPV0ID lpModifyData; 〃修改的目標(biāo)數(shù)據(jù)
      〃根據(jù)特征信息得到修改的目標(biāo)數(shù)據(jù) lpModifyData 二 GetMidifyData(dwResID);
      〃最后把資源數(shù)據(jù)修改為目標(biāo)數(shù)據(jù) ModifyResData(lpResBuf, lpModifyData );
      請參閱圖l所示,是本發(fā)明提供的對圖形繪制引擎使用資源設(shè)置的方法, 需要說明的是,本發(fā)明所例舉的步驟順序并非限定且不可改變,而是僅用于方 便說明之用,如步驟S110與步驟S120間即可順序互換,與之類似的替代方案 早己在現(xiàn)有技術(shù)中廣為解釋,在此不再一一贅述。
      在本發(fā)明的方法中,還進一步包括有在資源設(shè)置時機達到后,用運行期特 征信息作為如何實施資源設(shè)置的依據(jù)。資源設(shè)置的方法包括對資源進行修改; 用新創(chuàng)建的資源替代原資源;插入一個或多個新創(chuàng)建的資源。
      上述的歩驟可參見代碼說明2所示
      代碼說明2:檢索資源數(shù)據(jù)并計算特征信息__
      VOID IndexRes(LPVOID lpResBuf)
      〃先判斷該資源是否被檢索過,沒有檢索則先進行檢索 if(IsIndex(lpResBuf) 二= FALSE)〃對資源數(shù)據(jù)進行檢索
      IndexResData(lpResBuf);
      〃計算特征信息 CopumteResID (lpResBuf);
      針對上述方法在捕獲資源設(shè)置的時機時,應(yīng)對所調(diào)用資源是否進行過檢索 進行檢査,如果沒有進行過檢索,則需要先進行相應(yīng)的檢索工作,如代碼說明
      3所示。
      代碼說明3:捕獲資源設(shè)置時機(監(jiān)視資源設(shè)置接口的調(diào)用) VOID NewSetRes(LPVOID lpResBuf)
      DWORD dwResID;
      〃先判斷該資源是否被檢索過,沒有檢索則檢索 if (Inlndex(lpResBuf) =二 FALSE)
      〃對資源數(shù)據(jù)進行檢索 IndexRes(lpResBuf);〃得到資源特征信息
      dwResID = GetResID(lpResBuf);
      〃判斷是否需要修改資源數(shù)據(jù)
      if(IsModifyRes(dwResID) =二 TRUE)
      ModifyResData(lpResBuf dwResID);
      〃先執(zhí)行附加邏輯,包括,計算特征信息,設(shè)置資源數(shù)據(jù)步驟 DoOther(lpResBuf);
      〃最后調(diào)用實際圖形繪制引擎的資源設(shè)置接口來設(shè)置資源 IpSaveDrawDev—〉SetRes(lpResBuf);
      }
      特別需要說明的是,上述取得圖形繪制引擎接口控制權(quán)的方法具有多種, 在本發(fā)明中僅例舉以下三種方法,即代理方式、修改接口地址方式、以及修改 接口內(nèi)容的方式。
      所述的代理方式具有以下步驟實現(xiàn)可以被圖形應(yīng)用程序當(dāng)作原有圖形繪 制引擎一樣來調(diào)用的代理圖形繪制引擎,用該代理圖形繪制引擎來替換圖形應(yīng) 用程序當(dāng)前的圖形繪制引擎,當(dāng)使用圖形繪制引擎的圖形應(yīng)用程序調(diào)用圖形繪 制引擎的某個接口時,實際執(zhí)行的是代理圖形繪制引擎接口,由代理圖形繪制 引擎接口負責(zé)完成實際的圖形繪制引擎接口的工作。通過以上步驟,使所有的圖形繪制引擎接口的調(diào)用都要通過代理圖形繪制 引擎的接口來執(zhí)行,其具體實現(xiàn)方式參見代碼說明4。
      代碼說明4:取得接口控制權(quán)(代理方式)
      〃代理圖形繪制引擎的接口定義,其接口定義和實際的接口定義完全-致的
      class OwnDrawDev
      void Begin (…); void Present (…); void End (…); void SetRes ();
      };
      〃附加應(yīng)用保存的實際圖形繪制引擎 RealDrawDev氺IpSaveDrawDev;
      〃該函數(shù)用代理的圖形繪制引擎替換實際的圖形繪制弓i擎
      OwnDrawDev氺Modifylnterface(RealDrawDev氺lpDrawDev) OwnDrawDev氺 lpNewDrawDev ;
      〃實現(xiàn)代理圖形繪制引擎
      LpNewDrawDev 二 new OwnDrawDev;
      呆存實際的圖形繪制引擎
      IpSaveDrawDev = lpDrawDev;〃將代理圖形繪制引擎返回給使用圖形繪制引擎的應(yīng)用 return OwnDrawDev;
      所述的修改接口地址方式具有以下步驟將圖形繪制引擎的接口地址指向 附加應(yīng)用程序?qū)崿F(xiàn)的接口地址。
      這樣,當(dāng)圖形應(yīng)用程序調(diào)用圖形繪制引擎的接口時,首先跳到附加應(yīng)用程 序?qū)崿F(xiàn)的接口地址執(zhí)行,然后附加應(yīng)用程序再調(diào)用原來保存的圖形繪制引擎接
      口地址完成賣際接口的調(diào)用,其具體實現(xiàn)方式參見代碼說明5。
      代碼說明5:取得接口控制權(quán)(修改接口地址方式)
      〃附加應(yīng)用保存的實際圖形繪制弓I擎 RealDrawDev氺IpSaveDrawDev;
      VOID Modifylnterface2(RealDrawDev* lpDrawDev)
      〃保存實際的圖形繪制引擎對象 IpSaveDrawDev 二 lpDrawDev;
      〃將的圖形繪制引擎的接口替換成附加應(yīng)用新定義的接口
      1pImageDev-〉Begin 二 NewBegin;
      lpImageDev—〉End 二 NewEnd; lpImageDev-〉SetRes二 NewSetRes; lpImageDev-〉 Present = NewPresent;rsturn;
      所述的修改接口內(nèi)容的方式具有以下步驟將原圖形繪制引擎接口的指令 內(nèi)容修改為附加應(yīng)用實現(xiàn)的指令內(nèi)容。
      上述修改接口內(nèi)容方式參見代碼說明6。
      代碼說明6:取得接口控制權(quán)(修改接口內(nèi)容的方式) LPV0ID lpFirstCmd;〃接口的第一條指令 LPV0ID lpJ卿Cmd; 〃接口的跳轉(zhuǎn)指令
      VOID Modifylnterface3 (RealDrawDev氺lpDrawDev)
      〃保存接口的第一條指令 lpFirstCmd = lpImageDev-〉Present
      ;
      〃然后將接口的第一條指令修改為跳轉(zhuǎn)指令 lpImageDev-〉Present
      二 lpJinpCnid;
      〃修改其他接口的內(nèi)容
      return;
      〃附加應(yīng)用定義的接口實現(xiàn)
      VOID NewSetRes()〃先執(zhí)行附加應(yīng)用的邏輯
      DoAdd();
      〃然后執(zhí)行實際接口的第一條指令 call lpFirstCmd;
      〃最后調(diào)用跳轉(zhuǎn)指令,跳回到實際的接口地址繼續(xù)執(zhí)行
      cal1 lpRealLoadlmage;
      請參閱圖2是本發(fā)明實施例提供的裝置的示意圖,圖3是圖2所示的裝置 與圖形應(yīng)用程序、圖形繪制引擎間的結(jié)構(gòu)示意圖。
      如圖所示,本發(fā)明提供了一種基于圖形繪制引擎的資源設(shè)置裝置U120, 該裝置可對圖形繪制引擎使用的資源進行設(shè)置,而不需對圖形應(yīng)用程序自身邏 輯進行設(shè)置。上述裝置U120包括有接口控制單元U121、監(jiān)視單元U122、目 標(biāo)數(shù)據(jù)U125、及配置單元U124。
      上述的接口控制單元U121,用于取得圖形繪制引擎U130接口控制權(quán),接 管圖形繪制引擎U130的接口控制,使圖形繪制引擎U130接口的調(diào)用直接跳轉(zhuǎn) 到資源設(shè)置裝置U120的邏輯實現(xiàn)實際接口的調(diào)用。
      上述的監(jiān)視單元U122,用于利用圖形繪制引擎接口控制權(quán)捕獲資源設(shè)置 的時機,其在圖形應(yīng)用程序UllO向圖形繪制引擎U130發(fā)送接口調(diào)用指令時攔 截該指令,將圖形應(yīng)用程序UHO所欲調(diào)用的資源告知信息分析單元U123。
      上述的配置單元U124,根據(jù)圖形應(yīng)用程序中圖形繪制引擎實例的運行期特征信息進行資源設(shè)置。進一步,本發(fā)明的裝置還可以包括信息分析單元
      U123,用于獲取圖形應(yīng)用程序U110中圖形繪制引擎U130實例的運行期特征信息。
      在本發(fā)明具體實施例中,本發(fā)明的裝置U120還設(shè)置有目標(biāo)數(shù)據(jù)U125,該 目標(biāo)數(shù)據(jù)U125用于設(shè)置圖形應(yīng)用程序U110欲調(diào)用的資源的數(shù)據(jù)。另外,在配 置單元設(shè)置有資源數(shù)據(jù)列表,在該資源數(shù)據(jù)列表中建立目標(biāo)數(shù)據(jù)U125和特征 信息的一一對應(yīng)關(guān)系,在監(jiān)視單元U122捕獲資源設(shè)置的時機后,根據(jù)信息分 析單元U123提供的特征信息在資源數(shù)據(jù)列表中査找對應(yīng)的目標(biāo)數(shù)據(jù)U125,并 將該目標(biāo)數(shù)據(jù)U125通過接口控制單元U121提供給圖形繪制引擎U130。
      具體而言,上述資源數(shù)據(jù)列表和各種用于設(shè)置資源的目標(biāo)數(shù)據(jù)U125可以 從本地磁盤、光盤、外部存儲設(shè)備、網(wǎng)絡(luò)等各種渠道加載。上述的配置單元 U124利用資源數(shù)據(jù)列表的一一對應(yīng)關(guān)系,以特征信息為査詢詞在資源數(shù)據(jù)列 表中找到與其對應(yīng)的目標(biāo)數(shù)據(jù),從而使圖形應(yīng)用程序U110本應(yīng)調(diào)用某特定資 源,結(jié)果調(diào)用的是與該特定資源的特征信息對應(yīng)的目標(biāo)數(shù)據(jù)U125,圖形繪制 引擎U130調(diào)用目標(biāo)數(shù)據(jù)U125后,對目標(biāo)數(shù)據(jù)U125進行設(shè)置并輸出,從而改 變了圖形應(yīng)用程序U110調(diào)用的部分或全部資源,實現(xiàn)了對圖形應(yīng)用程序的擴 展。
      在本發(fā)明提供的裝置僅對圖形應(yīng)用程序U110調(diào)用的部分資源進行設(shè)置 時,配置單元U124具有一判斷模塊,在檢測到資源設(shè)置的時機達到后,判斷 模塊對資源是否需要設(shè)置進行判斷,使資源數(shù)據(jù)列表中不存在映射關(guān)系的特征 信息所對應(yīng)的資源不進行設(shè)置。
      為實現(xiàn)上述判斷模塊對資源是否需要設(shè)置進行判斷,該判斷模塊利用信息 分析單元U123提供的特征信息在資源數(shù)據(jù)列表中檢索該特征信息是否存在, 并以該特征信息是否存在做為判斷是否需要實施資源設(shè)置動作的標(biāo)準(zhǔn),如果列表中存在該特征信息則進行設(shè)置。
      當(dāng)圖形應(yīng)用程序調(diào)用圖形繪制引擎接口對資源進行設(shè)置時,利用對圖形繪 制引擎接口的控制權(quán)捕獲該設(shè)置過程,并以是否捕獲到該設(shè)置過程作為是否可 以對所述資源進行設(shè)置操作的標(biāo)準(zhǔn)。
      上述的接口控制單元U121具有多種接管圖形繪制引擎U130接口控制權(quán)的
      方式,本發(fā)明中例舉代理方式、修改接口地址的方式、修改接口內(nèi)容的方式三 種。
      具體而言,以代理方式取得圖形繪制引擎U130接口控制權(quán),該接口控制 單元U121實現(xiàn)可以被圖形應(yīng)用程序當(dāng)作原有圖形繪制引擎一樣來調(diào)用的代理 圖形繪制引擎,用該代理圖形繪制引擎來替換圖形應(yīng)用程序當(dāng)前的圖形繪制引 擎,當(dāng)使用圖形繪制引擎的圖形應(yīng)用程序調(diào)用圖形繪制引擎的某個接口時,實 際執(zhí)行的是代理圖形繪制引擎接口,由代理圖形繪制引擎接口負責(zé)完成實際的 圖形繪制引擎接口的工作。
      以修改接口地址的方式取得圖形繪制引擎U130接口控制權(quán),該接口控制 單元U121將圖形繪制引擎U130的接口地址指向附加應(yīng)用程序?qū)崿F(xiàn)的接口地 址。
      以修改接口內(nèi)容的方式取得圖形繪制引擎U130接口控制權(quán),該接口控制 單元U121將原圖形繪制引擎接口的指令內(nèi)容修改為附加應(yīng)用實現(xiàn)的指令內(nèi) 容。
      以上對本發(fā)明所提供的基于圖形繪制引擎接口控制的資源設(shè)置方法、裝 置,進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行 了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同 時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
      及應(yīng)用 范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
      權(quán)利要求
      1、一種基于圖形繪制引擎的資源設(shè)置方法,其特征在于,包括取得圖形繪制引擎接口控制權(quán);利用圖形繪制引擎接口控制權(quán)捕獲資源設(shè)置的時機;根據(jù)圖形應(yīng)用程序中圖形繪制引擎實例的運行期特征信息進行資源設(shè)置。
      2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的特征信息包括資源 的數(shù)據(jù)標(biāo)識符、資源的屬性、圖形繪制引擎實例的運行狀態(tài)信息、圖形繪制引 擎實例的運行行為信息。
      3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的資源包括圖形繪制引擎實例中使用的模型數(shù)據(jù)、圖像數(shù)據(jù)、音頻數(shù)據(jù),以及可通過圖形繪制引擎 接口控制的設(shè)備運行參數(shù)。
      4、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的數(shù)據(jù)標(biāo)識符是為數(shù)據(jù)自定義特征碼、數(shù)據(jù)散列碼、數(shù)據(jù)校驗和。
      5、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的資源的屬性用于表 明該資源是模型資源、圖像資源、或是音頻資源、以及可通過圖形繪制引擎接 口控制的設(shè)備資源。
      6、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的圖形繪制引擎實例 的運行狀態(tài)信息包括鏡頭變換數(shù)據(jù)、世界變換數(shù)據(jù)、以及資源相關(guān)的可辨識信 息。
      7、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的圖形繪制引擎實例 的運行行為信息指圖形應(yīng)用程序?qū)D形繪制引擎接口的調(diào)用特征,包括某個或 某些特定的接口被調(diào)用、被調(diào)用接口的調(diào)用參數(shù)、被調(diào)用接口的調(diào)用順序、以 及調(diào)用次數(shù)。
      8、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,資源設(shè)置時機達到后,用運行期特征信息作為如何實施資源設(shè)置的依據(jù)。
      9、 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述的資源設(shè)置的方法包括對資源進行修改;用新創(chuàng)建的資源替代原資源;插入一個或多個新創(chuàng)建的資源。
      10、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述的利用圖形繪制 引擎接口控制權(quán)捕獲資源設(shè)置時機的方法包括當(dāng)圖形應(yīng)用程序調(diào)用圖形繪制引擎接口對資源進行設(shè)置時,利用對圖形繪 制引擎接口的控制權(quán)捕獲該設(shè)置過程,并以是否捕獲到該設(shè)置過程作為是否可 以對所述資源進行設(shè)置操作的標(biāo)準(zhǔn)。
      11、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述的取得圖形繪制 引擎接口控制權(quán)的方法是以代理方式實現(xiàn)的,該代理方式包括實現(xiàn)可以被圖形應(yīng)用程序當(dāng)作原有圖形繪制引擎一樣來調(diào)用的代理圖形 繪制引擎,用該代理圖形繪制引擎來替換圖形應(yīng)用程序當(dāng)前的圖形繪制引擎, 當(dāng)使用圖形繪制引擎的圖形應(yīng)用程序調(diào)用圖形繪制引擎的某個接口時,實際執(zhí) 行的是代理圖形繪制引擎接口 ,由代理圖形繪制引擎接口負責(zé)完成實際的圖形 繪制引擎接口的工作。
      12、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述的取得圖形繪制引擎接口控制權(quán)的方法是以修改接口地址的方式實現(xiàn)的,該修改接口地址的方 式是將圖形繪制引擎接口地址指向附加應(yīng)用實現(xiàn)的接口地址。
      13、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述的取得圖形繪制 引擎接口控制權(quán)的方法是以修改接口內(nèi)容的方式實現(xiàn)的,該修改接口內(nèi)容的方式是將原圖形繪制引擎接口的指令內(nèi)容修改為附加應(yīng)用程序?qū)崿F(xiàn)的指令內(nèi)容。
      14、 一種基于圖形繪制引擎的資源設(shè)置裝置,其特征在于,包括 接口控制單元,用于取得圖形繪制引擎接口控制權(quán);監(jiān)視單元,用于利用圖形繪制引擎接口控制權(quán)捕獲資源設(shè)置的時機; 配置單元,根據(jù)圖形應(yīng)用程序中圖形繪制引擎實例的運行期特征信息進行 資源設(shè)置。
      15、 根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述的特征信息包括資 源的數(shù)據(jù)標(biāo)識符、資源的屬性、圖形繪制引擎實例的運行狀態(tài)信息、圖形繪制 引擎實例的運行行為信息。
      16、 根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述的資源包括圖形繪制引擎實例中使用的模型數(shù)據(jù)、圖像數(shù)據(jù)、音頻數(shù)據(jù),以及可通過圖形繪制引 擎接口控制的設(shè)備運行參數(shù)。
      17、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述的數(shù)據(jù)標(biāo)識符是為 數(shù)據(jù)自定義特征碼、數(shù)據(jù)散列碼、數(shù)據(jù)校驗和。
      18、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述的資源的屬性用于 表明該資源是模型資源、圖像資源、或是音頻資源、以及可通過圖形繪制引擎 接口控制的設(shè)備資源。
      19、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述的圖形繪制引擎實例的運行狀態(tài)信息包括鏡頭變換數(shù)據(jù)、世界變換數(shù)據(jù)、以及資源相關(guān)的可辨識梓自 i 口 's、 o
      20、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述的圖形繪制引擎實 例的運行行為信息指圖形應(yīng)用程序?qū)D形繪制引擎接口的調(diào)用特征,包括某個 或某些特定的接口被調(diào)用、被調(diào)用接口的調(diào)用參數(shù)、被調(diào)用接口的調(diào)用順序、以及調(diào)用次數(shù)。
      21、 根據(jù)權(quán)利要求14或15所述的裝置,其特征在于,資源設(shè)置時機達到 后,用運行期特征信息作為如何實施資源設(shè)置的依據(jù)。
      22、 根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述的資源設(shè)置的方法 包括對資源進行修改;用新創(chuàng)建的資源替代原資源;插入一個或多個新創(chuàng)建的資源。
      23、 根據(jù)權(quán)利要求14或15所述的裝置,其特征在于,在圖形應(yīng)用程序調(diào) 用圖形繪制引擎接口對資源進行設(shè)置時,利用對圖形繪制引擎接口的控制權(quán)捕 獲該設(shè)置過程,并以是否捕獲到該設(shè)置過程作為是否可以對所述資源進行設(shè)置 操作的標(biāo)準(zhǔn)。
      24、 根據(jù)權(quán)利要求14或15所述的裝置,其特征在于,所述的取得圖形繪 制引擎接口控制權(quán)的方法是以代理方式實現(xiàn)的,該代理方式包括實現(xiàn)可以被圖形應(yīng)用程序當(dāng)作原有圖形繪制引擎一樣來調(diào)用的代理圖形 繪制引擎,用該代理圖形繪制引擎來替換圖形應(yīng)用程序當(dāng)前的圖形繪制引擎, 當(dāng)使用圖形繪制引擎的圖形應(yīng)用程序調(diào)用圖形繪制引擎的某個接口時,實際執(zhí) 行的是代理圖形繪制引擎接口 ,由代理圖形繪制引擎接口負責(zé)完成實際的圖形 繪制引擎接口的工作。
      25、 根據(jù)權(quán)利要求14或15所述的裝置,其特征在于,所述的接口控制單 元以修改接口地址的方式取得圖形繪制引擎接口控制權(quán),該接口控制單元將圖 形繪制引擎接口地址指向附加應(yīng)用實現(xiàn)的接口地址。
      26、 根據(jù)權(quán)利要求14或15所述的裝置,其特征在于,所述的接口控制單 元以修改接口內(nèi)容的方式取得圖形繪制引擎接口控制權(quán),該接口控制單元將原圖形繪制引擎接口的指令內(nèi)容修改為附加應(yīng)用程序?qū)崿F(xiàn)的指令內(nèi)容。
      27、根據(jù)權(quán)利要求14所述的裝置,其特征在于,其還包括信息分析單元, 用于獲取圖形應(yīng)用程序中圖形繪制引擎實例的運行期特征信息。
      全文摘要
      本發(fā)明公開了一種基于圖形繪制引擎的資源設(shè)置方法和裝置,該方法包括取得圖形繪制引擎接口控制權(quán);利用圖形繪制引擎接口控制權(quán)捕獲資源設(shè)置的時機;獲取圖形應(yīng)用程序中圖形繪制引擎實例的運行期特征信息;根據(jù)上述特征信息進行資源設(shè)置。本發(fā)明還公開了一種基于圖形繪制引擎的資源設(shè)置裝置。通過本發(fā)明,可以通過對圖形繪制引擎接口的控制實現(xiàn)資源擴展或修改,大大提高了圖形應(yīng)用程序的可擴展性,且在卸載附加應(yīng)用程序后對圖形應(yīng)用程序、圖形繪制引擎不會造成任何影響。
      文檔編號G06F9/44GK101587584SQ200910131668
      公開日2009年11月25日 申請日期2009年4月14日 優(yōu)先權(quán)日2009年4月14日
      發(fā)明者建 潘, 南 肖, 謝曉攀, 黃建峰 申請人:北京壁虎科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1