[發(fā)明專(zhuān)利]一種基于離屏渲染的背面構(gòu)件剔除方法、系統(tǒng)和存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202010736223.X | 申請(qǐng)日: | 2020-07-28 |
| 公開(kāi)(公告)號(hào): | CN111951342B | 公開(kāi)(公告)日: | 2023-06-06 |
| 發(fā)明(設(shè)計(jì))人: | 馬驍;郝方位;陶海波;葉宇飛;陳雷行;廖燦燦 | 申請(qǐng)(專(zhuān)利權(quán))人: | 中煤科工重慶設(shè)計(jì)研究院(集團(tuán))有限公司 |
| 主分類(lèi)號(hào): | G06T7/90 | 分類(lèi)號(hào): | G06T7/90;G06T19/20 |
| 代理公司: | 北京輕創(chuàng)知識(shí)產(chǎn)權(quán)代理有限公司 11212 | 代理人: | 陳曉華 |
| 地址: | 400010 重慶市*** | 國(guó)省代碼: | 重慶;50 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 渲染 背面 構(gòu)件 剔除 方法 系統(tǒng) 存儲(chǔ) 介質(zhì) | ||
1.一種基于離屏渲染的背面構(gòu)件剔除方法,其特征在于,包括以下步驟:
步驟1:獲取待渲染模型中所有構(gòu)件的渲染數(shù)據(jù),將所有所述構(gòu)件和所有所述渲染數(shù)據(jù)均裝載入預(yù)設(shè)的初始構(gòu)件容器后,對(duì)所述初始構(gòu)件容器進(jìn)行初始化,得到渲染構(gòu)件容器;
步驟2:根據(jù)所述渲染構(gòu)件容器計(jì)算得到可見(jiàn)集擴(kuò)散數(shù)組集合,根據(jù)所述渲染構(gòu)件容器和所述可見(jiàn)集擴(kuò)散數(shù)組集合,獲取多個(gè)目標(biāo)鄰近構(gòu)件,并根據(jù)所有所述目標(biāo)鄰近構(gòu)件得到潛在可見(jiàn)集容器;
步驟3:按照所述潛在可見(jiàn)集容器中的所有所述目標(biāo)鄰近構(gòu)件進(jìn)行離屏渲染,得到多個(gè)渲染查詢(xún)幀數(shù)據(jù),根據(jù)所有所述渲染查詢(xún)幀數(shù)據(jù)對(duì)所述渲染構(gòu)件容器進(jìn)行更新,得到目標(biāo)渲染構(gòu)件容器,完成背面構(gòu)件剔除;
所述渲染數(shù)據(jù)包括所述待渲染模型中每個(gè)構(gòu)件的中心點(diǎn)位置信息;
在所述步驟1中,得到所述渲染構(gòu)件容器的具體步驟包括:
步驟11:按照預(yù)設(shè)的顏色編碼方法,對(duì)所述初始構(gòu)件容器中的每個(gè)構(gòu)件分別進(jìn)行編碼,得到每個(gè)構(gòu)件一一對(duì)應(yīng)的顏色編碼;
步驟12:根據(jù)所述初始構(gòu)件容器中的每?jī)蓚€(gè)構(gòu)件的中心點(diǎn)位置信息,得到每?jī)蓚€(gè)構(gòu)件之間的構(gòu)件距離;
步驟13:根據(jù)所有構(gòu)件、所有顏色編碼和所有構(gòu)件距離,得到所述渲染構(gòu)件容器;
在所述步驟2中,得到所述可見(jiàn)集擴(kuò)散數(shù)組集合的具體步驟包括:
步驟21:在所述渲染構(gòu)件容器中任選一個(gè)構(gòu)件作為第一號(hào)構(gòu)件,根據(jù)所有構(gòu)件距離,在所述渲染構(gòu)件容器除開(kāi)所述第一號(hào)構(gòu)件外的剩余構(gòu)件中,查找與所述第一號(hào)構(gòu)件之間的構(gòu)件距離的最小值所對(duì)應(yīng)的第1鄰近構(gòu)件,根據(jù)所述第一號(hào)構(gòu)件對(duì)應(yīng)的顏色編碼以及所述第1鄰近構(gòu)件對(duì)應(yīng)的顏色編碼得到所述第一號(hào)構(gòu)件對(duì)應(yīng)的可見(jiàn)集擴(kuò)散數(shù)組;
步驟22:根據(jù)所有構(gòu)件距離,在所述渲染構(gòu)件容器的第1剩余構(gòu)件中,查找與所述第1鄰近構(gòu)件之間的構(gòu)件距離的最小值所對(duì)應(yīng)的第2鄰近構(gòu)件,根據(jù)所述第1鄰近構(gòu)件對(duì)應(yīng)的顏色編碼以及所述第2鄰近構(gòu)件對(duì)應(yīng)的顏色編碼得到所述第1鄰近構(gòu)件對(duì)應(yīng)的可見(jiàn)集擴(kuò)散數(shù)組;
步驟23:根據(jù)所有構(gòu)件距離,在所述渲染構(gòu)件容器的第N剩余構(gòu)件中,查找與所述第N鄰近構(gòu)件之間的構(gòu)件距離的最小值所對(duì)應(yīng)的第N+1鄰近構(gòu)件,根據(jù)所述第N鄰近構(gòu)件對(duì)應(yīng)的顏色編碼以及所述第N+1鄰近構(gòu)件對(duì)應(yīng)的顏色編碼得到所述第N鄰近構(gòu)件對(duì)應(yīng)的可見(jiàn)集擴(kuò)散數(shù)組;其中,N=2,3,4……,所述渲染構(gòu)件容器構(gòu)件的總數(shù)為N+2;第N剩余構(gòu)件為所述渲染構(gòu)件容器中除開(kāi)第一號(hào)構(gòu)件以及第1鄰近構(gòu)件至第N鄰近構(gòu)件外的剩余構(gòu)件;
步驟24:根據(jù)所有可見(jiàn)集擴(kuò)散數(shù)組得到所述可見(jiàn)集擴(kuò)散數(shù)組集合;
在所述步驟2中,得到所述潛在可見(jiàn)集容器的具體步驟包括:
步驟25:判斷所述渲染構(gòu)件容器中是否存在已渲染構(gòu)件,若否,則根據(jù)所述可見(jiàn)集擴(kuò)散數(shù)組集合得到所述渲染構(gòu)件容器中每個(gè)構(gòu)件對(duì)應(yīng)的目標(biāo)鄰近構(gòu)件和目標(biāo)鄰近構(gòu)件顏色編碼;根據(jù)所有目標(biāo)鄰近構(gòu)件以及所有目標(biāo)鄰近構(gòu)件顏色編碼得到所述潛在可見(jiàn)集容器;
若是,則獲取所述渲染構(gòu)件容器中的所有已渲染構(gòu)件,并在所述可見(jiàn)集擴(kuò)散數(shù)組集合中查找與每個(gè)已渲染構(gòu)件對(duì)應(yīng)的目標(biāo)鄰近構(gòu)件和目標(biāo)鄰近構(gòu)件顏色編碼;清空預(yù)設(shè)的可見(jiàn)集容器,將所有已渲染構(gòu)件對(duì)應(yīng)的目標(biāo)鄰近構(gòu)件以及所有已渲染構(gòu)件對(duì)應(yīng)的目標(biāo)鄰近構(gòu)件顏色編碼裝載入所述可見(jiàn)集容器中,得到所述潛在可見(jiàn)集容器。
2.根據(jù)權(quán)利要求1所述的基于離屏渲染的背面構(gòu)件剔除方法,其特征在于,所述渲染查詢(xún)幀數(shù)據(jù)包括渲染幀像素RGB數(shù)據(jù);在所述步驟3中,得到所述目標(biāo)渲染構(gòu)件容器的具體步驟包括:
步驟31:將每個(gè)渲染像素RGB數(shù)據(jù)分別轉(zhuǎn)換為對(duì)應(yīng)的目標(biāo)渲染顏色編碼;
步驟32:根據(jù)所有目標(biāo)渲染顏色編碼得到目標(biāo)可見(jiàn)構(gòu)件集合;
步驟33:根據(jù)所述目標(biāo)可見(jiàn)構(gòu)件集合對(duì)所述渲染構(gòu)件容器進(jìn)行更新,得到所述目標(biāo)渲染構(gòu)件容器,完成背面構(gòu)件剔除。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中煤科工重慶設(shè)計(jì)研究院(集團(tuán))有限公司,未經(jīng)中煤科工重慶設(shè)計(jì)研究院(集團(tuán))有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010736223.X/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。





