[發(fā)明專利]一種基于多線程并行化的3D引擎系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201410342073.9 | 申請(qǐng)日: | 2014-07-18 |
| 公開(公告)號(hào): | CN104102488B | 公開(公告)日: | 2017-09-22 |
| 發(fā)明(設(shè)計(jì))人: | 張翼 | 申請(qǐng)(專利權(quán))人: | 無(wú)錫梵天信息技術(shù)股份有限公司 |
| 主分類號(hào): | G06T1/20 | 分類號(hào): | G06T1/20;G06T19/00 |
| 代理公司: | 北京中恒高博知識(shí)產(chǎn)權(quán)代理有限公司11249 | 代理人: | 宋敏 |
| 地址: | 214000 江蘇省無(wú)錫市新*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 多線程 并行 引擎 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體地,涉及一種基于多線程并行化的3D引擎系統(tǒng)。
背景技術(shù)
隨著計(jì)算機(jī)的不斷發(fā)展和顯卡的普及應(yīng)用,計(jì)算機(jī)游戲也得到的飛快的發(fā)展,游戲可以說(shuō)是結(jié)合了當(dāng)前時(shí)代最先進(jìn)的硬件和最近的編程思想。而一個(gè)游戲的核心是游戲引擎,它用于控制游戲功能的主要程序;游戲引擎好比汽車的發(fā)動(dòng)機(jī),顯卡就是其輔助設(shè)備,沒有強(qiáng)大的發(fā)動(dòng)力,在好的汽車外觀設(shè)計(jì)也難以發(fā)揮汽車的極限,因此它決定這游戲質(zhì)量的關(guān)鍵。
引擎同時(shí)也是一個(gè)架構(gòu),而這個(gè)架構(gòu)包含的很多功能的模塊,每個(gè)模塊管理者游戲的不同的功能實(shí)現(xiàn)。它的目的是讓開發(fā)者只做游戲邏輯的編寫,而盡量減少底層的編寫。目前有一些開源的免費(fèi)引擎和價(jià)格高昂的引擎,他們之間存在這底層工具以及兼容性不完整的問(wèn)題,對(duì)于收費(fèi)引擎雖然能實(shí)現(xiàn)較好的游戲畫面和跨平臺(tái)等各種功能,但是價(jià)格隨版本的升級(jí)和功能增多價(jià)格也不同以及后期更新維護(hù)費(fèi)較高。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在成本高、維護(hù)難度大和靈活性差等缺陷。
發(fā)明內(nèi)容
本發(fā)明的目的在于,針對(duì)上述問(wèn)題,提出一種基于多線程并行化的3D引擎系統(tǒng),以實(shí)現(xiàn)成本低、維護(hù)難度小和靈活性好的優(yōu)點(diǎn)。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:一種基于多線程并行化的3D引擎系統(tǒng),主要包括基于無(wú)鎖的多線程并發(fā)處理機(jī)制設(shè)置的主線程、幀更新線程、動(dòng)態(tài)加載線程和監(jiān)聽網(wǎng)絡(luò)服務(wù)器線程,其中:
所述主線程,主要用于渲染上一幀中幀線程檢測(cè)到的可見性對(duì)象列表;
所述幀更新線程,與所述主線程同步,主要用于對(duì)當(dāng)前幀中的對(duì)象進(jìn)行更新;
所述動(dòng)態(tài)加載線程,主要用于動(dòng)態(tài)加載場(chǎng)景資源、模型資源、特效、OBJ文件和ANI文件;當(dāng)動(dòng)態(tài)加載線程加載完成時(shí),通知主線程已加載場(chǎng)景資源的可用性;主線程根據(jù)動(dòng)態(tài)加載線程的通知,對(duì)相應(yīng)場(chǎng)景資源的可用性進(jìn)行判斷并通知其他線程;
所述監(jiān)聽網(wǎng)絡(luò)服務(wù)器線程,主要用于遍歷所有消息,當(dāng)有線程觸發(fā)或喚醒時(shí),接收服務(wù)器發(fā)送過(guò)來(lái)的消息包,將接收到的消息包插入到消息隊(duì)列中,供主線程處理。
進(jìn)一步地,該3D引擎系統(tǒng),還包括能夠與所述主線程、幀更新線程、動(dòng)態(tài)加載線程和監(jiān)聽網(wǎng)絡(luò)服務(wù)器線程并發(fā)處理的遮擋剔除線程;
所述遮擋剔除線程,具體包括能夠進(jìn)行遮擋剔除處理功能相似的多個(gè)線程;主要用于基于SSE加速指令以及多線程并發(fā)生成的深度緩存和需要剔除對(duì)象的包圍盒,比較剔除哪些物體是被遮擋物。
進(jìn)一步地,所述遮擋剔除線程用于基于SSE加速指令以及多線程并發(fā)生成的深度緩存和需要剔除對(duì)象的包圍盒,比較剔除哪些物體是被遮擋物的操作,具體包括:
多線程并發(fā)生成在低分辨率下的深度緩存,即一個(gè)二維的畫布,把畫布虛擬的劃分為類似九宮格的分配機(jī)制,每個(gè)格子都會(huì)提供一個(gè)線程來(lái)處理,每個(gè)格子都會(huì)生成一個(gè)深度緩沖;
按照程序分格子的個(gè)數(shù)生成一定格子數(shù)量的深度緩沖,對(duì)需要剔除對(duì)象的包圍盒和深度緩沖做比較,決定要剔除被遮擋的物體,主線程不會(huì)繪制該部分;未被剔除的對(duì)象保留其可見性。
進(jìn)一步地,所述主線程渲染上一幀中幀線程檢測(cè)到的可見性對(duì)象列表的操作,具體包括:
對(duì)三維圖形進(jìn)行渲染,對(duì)動(dòng)態(tài)加載線程加載資源的判斷,處理幀線程中更新的消息隊(duì)列;以及,
遍歷監(jiān)聽網(wǎng)絡(luò)服務(wù)器線程中消息隊(duì)列、并處理響應(yīng)的消息回調(diào)函數(shù)和上層的邏輯。
進(jìn)一步地,所述主線程對(duì)三維圖形進(jìn)行渲染的操作,具體包括:
對(duì)三維圖像進(jìn)行包括光影效果、材質(zhì)渲染、UI和物理系統(tǒng)的渲染計(jì)算。
進(jìn)一步地,所述幀更新線程對(duì)當(dāng)前幀中的對(duì)象進(jìn)行更新的操作,具體包括:
對(duì)動(dòng)態(tài)加載線程中的對(duì)象進(jìn)行遮擋剔除、視錐體剔除、室內(nèi)室外的可見性剔除,更新特效、粒子和動(dòng)畫;
同時(shí),對(duì)主線程基于物理的系統(tǒng)進(jìn)行解算。
進(jìn)一步地,所述動(dòng)態(tài)加載線程動(dòng)態(tài)加載場(chǎng)景資源、模型資源、特效、OBJ文件和ANI文件的操作中,所述場(chǎng)景資源包含靜態(tài)對(duì)象、地形、水、霧和貼花,I/O,所述模型資源主要包括角色、換裝和裝備。
進(jìn)一步地,所述監(jiān)聽網(wǎng)絡(luò)服務(wù)器線程,還用于:
在沒有消息時(shí),處于等待或睡眠狀態(tài),直到有線程觸發(fā)或喚醒;該消息包包含消息頭和消息內(nèi)容。
進(jìn)一步地,該3D引擎系統(tǒng),還包括能夠與所述主線程、幀更新線程、動(dòng)態(tài)加載線程、監(jiān)聽網(wǎng)絡(luò)服務(wù)器線程和遮擋剔除線程匹配設(shè)置的工具編輯器。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于無(wú)錫梵天信息技術(shù)股份有限公司,未經(jīng)無(wú)錫梵天信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410342073.9/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 多線程應(yīng)用系統(tǒng)的異常處理方法和異常處理裝置
- 一種面向片上網(wǎng)絡(luò)的多線程調(diào)度實(shí)現(xiàn)方法
- 基于計(jì)算機(jī)多線程多核顯微鏡細(xì)胞圖像快速掃描處理方法
- 一種基于同步鎖的多線程處理方法、終端以及存儲(chǔ)介質(zhì)
- 多線程并發(fā)處理系統(tǒng)及方法
- 海外控股估值流程控制方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 讀數(shù)方法、電子裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種基于云平臺(tái)多線程調(diào)度的方法、系統(tǒng)、設(shè)備及介質(zhì)
- 一種基于云平臺(tái)的前端多線程調(diào)度方法和系統(tǒng)
- 多線程調(diào)度方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議設(shè)備的數(shù)據(jù)并行采集歸并方法及系統(tǒng)
- 減少EMI的并行數(shù)據(jù)傳輸方法
- 一種多媒體數(shù)據(jù)并行處理系統(tǒng)及方法
- 一種高速并行OQPSK解調(diào)時(shí)鐘的恢復(fù)系統(tǒng)
- 一種海量地震數(shù)據(jù)并行抽道集方法
- 3G協(xié)議的turbo碼并行譯碼方法及裝置
- 并行擴(kuò)展輸入輸出的教學(xué)裝置
- 數(shù)據(jù)的并行處理
- 并行式插件機(jī)
- 一種SPI總線與并行總線的橋接方法、設(shè)備、系統(tǒng)及介質(zhì)





