[發(fā)明專利]一種基于Direct3D共享紋理的交互方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201910368862.2 | 申請日: | 2019-05-05 |
| 公開(公告)號: | CN110321193B | 公開(公告)日: | 2022-03-18 |
| 發(fā)明(設(shè)計)人: | 羅大軍 | 申請(專利權(quán))人: | 四川盛趣時代網(wǎng)絡科技有限公司 |
| 主分類號: | G06F9/451 | 分類號: | G06F9/451;G06T15/04;G06T15/00;A63F13/50 |
| 代理公司: | 成都君合集專利代理事務所(普通合伙) 51228 | 代理人: | 張鳴潔 |
| 地址: | 610000 四川省成都市自由貿(mào)易試*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 direct3d 共享 紋理 交互 方法 系統(tǒng) | ||
本發(fā)明公開了一種基于Direct3D共享紋理的交互方法及系統(tǒng),所述交互系統(tǒng)包括獨立運行的客戶端渲染組件和注入到游戲進程中的圖像繪制與控制模塊;所述客戶端渲染組件包括用于將客戶端可視區(qū)域內(nèi)容渲染到共享紋理中的渲染模塊、用于接收并解析從游戲客戶端傳送到客戶端的操作控制命令的遠程操作解析模塊、用于將接收到的操作控制命令轉(zhuǎn)換成客戶端操作的操作執(zhí)行模塊、用于將圖像繪制與控制模塊注入到游戲進程中的注入模塊。本發(fā)明還公開了所述交互方法基于交互系統(tǒng)實現(xiàn)了無需切換窗口就能操作客戶端的功能,提升了游戲用戶之間交流互動的體驗。
技術(shù)領(lǐng)域
本發(fā)明屬于計算機技術(shù)領(lǐng)域,具體涉及一種基于Direct3D共享紋理的交互方法及系統(tǒng)。
背景技術(shù)
Direct3D是基于微軟的通用對象模式COM(Common Object Mode)的3D圖形API。它是由微軟(Microsoft)一手樹立的3D API規(guī)范,微軟公司擁有該庫版權(quán),它所有的語法定義包含在微軟提供的程序開發(fā)組件的幫助文件、源代碼中。Direct3D是微軟公司DirectX SDK集成開發(fā)包中的重要部分,適合多媒體、娛樂、即時3D動畫等廣泛和實用的3D圖形計算。Direct3D提供一種共享紋理的功能,能夠?qū)⒓y理共享,使其他進程能夠訪問此紋理。
在傳統(tǒng)的交互模式下,游戲過程中,如果需要操作客戶端的窗口,則需要進行窗口切換,這會導致全屏游戲從獨占模式切換到桌面,帶來較長的延時,且窗口切換過程中,無法準確定位需要切換到的目標窗口。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于Direct3D共享紋理的交互方法,本發(fā)明通過共享紋理的交互,可以實現(xiàn)無需切換窗口就能操作客戶端的功能,提升游戲用戶之間交流互動的體驗。
本發(fā)明的目的在于提供一種基于Direct3D共享紋理的交互系統(tǒng),基于共享紋理與客戶端的交互,可以實現(xiàn)無需切換窗口就能操作客戶端的功能,提升游戲用戶之間交流互動的體驗。
本發(fā)明主要通過以下技術(shù)方案實現(xiàn):一種基于Direct3D共享紋理的交互方法,將共享紋理注冊到GPU中,將得到的紋理句柄注冊到共享資源管理接口中,以供游戲進程中的模塊獲取共享紋理句柄;在客戶端運行過程中,所有的可視區(qū)域直接繪制到共享紋理上,游戲中的模塊通過GPU內(nèi)存獲取紋理;
通過創(chuàng)建消息鉤子,在游戲啟動時,消息鉤子將圖像繪制與控制模塊注入到游戲進程中,以獲取目標進程的Direct3D繪制接口;通過客戶端的接口獲取共享紋理的句柄,從而獲取到GUP中對應的客戶端可視區(qū)域內(nèi)容。
為了更好的實現(xiàn)本發(fā)明,進一步的,將客戶端可視加載到共享紋理中,當模塊初始化時,則首先通過D3D11CreateDevice創(chuàng)建一個支持BGRA圖像格式的Direct3D設(shè)備,并使用CreateTexture2D創(chuàng)建兩個DXGI_FORMAT_B8G8R8A8_UNORM格式的紋理A和紋理B;當創(chuàng)建A紋理時,將創(chuàng)建參數(shù)的MiscFlags標志位傳入D3D11_RESOURCE_MISC_SHARED,以作為最終游戲進程中共享的紋理;所述紋理B作為臨時繪制緩存,在渲染過程中,客戶端可視區(qū)域的圖像先繪制到紋理B中,然后再復制到紋理A中,可以有效避免直接繪制到紋理A中帶來的畫面撕裂。
為了更好的實現(xiàn)本發(fā)明,進一步的,創(chuàng)建紋理C作為將客戶端可視區(qū)域渲染到紋理B中的代理,創(chuàng)建時將CPUAccessFlags設(shè)置為D3D11_CPU_ACCESS_WRITE,以將客戶端可視區(qū)域的位圖信息從CPU中復制到紋理C。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于四川盛趣時代網(wǎng)絡科技有限公司,未經(jīng)四川盛趣時代網(wǎng)絡科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910368862.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





