[發(fā)明專(zhuān)利]基于OpenGL的透明/半透明顯示處理裝置及方法有效
| 申請(qǐng)?zhí)枺?/td> | 201110286462.0 | 申請(qǐng)日: | 2011-09-23 |
| 公開(kāi)(公告)號(hào): | CN102509335A | 公開(kāi)(公告)日: | 2012-06-20 |
| 發(fā)明(設(shè)計(jì))人: | 畢勝旺 | 申請(qǐng)(專(zhuān)利權(quán))人: | 深圳TCL新技術(shù)有限公司 |
| 主分類(lèi)號(hào): | G06T15/00 | 分類(lèi)號(hào): | G06T15/00;G06T15/50 |
| 代理公司: | 深圳市世紀(jì)恒程知識(shí)產(chǎn)權(quán)代理事務(wù)所 44287 | 代理人: | 胡海國(guó) |
| 地址: | 518052 廣東省深圳市南山*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 opengl 透明 半透明 顯示 處理 裝置 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及信息處理技術(shù)領(lǐng)域,尤其涉及一種基于OpenGL的透明/半透明圖像顯示處理裝置及方法。
背景技術(shù)
近年來(lái),電視技術(shù)IT(Information?Technology,信息技術(shù))化的趨勢(shì)越來(lái)越明顯,OpenGL(Open?Graphics?Library)等3D圖形技術(shù)逐步引入到電視的用戶(hù)界面開(kāi)發(fā)中,3D圖形技術(shù)的引入,使得用戶(hù)有了更加完美的電視操作體驗(yàn)。為了更好的3D操作界面體驗(yàn),3D操作界面上的模型,物體等可能要求半透明或全透明,運(yùn)動(dòng)過(guò)程中漸變透明或逐漸消失掉。
實(shí)現(xiàn)透明半透明效果,在OpenGL中,利用其混合功能,可以使用多邊形點(diǎn)畫(huà)模式模擬半透明的材料。多邊形的點(diǎn)畫(huà)模式的大小是32×32位,因此可以在透明和不透明之間實(shí)現(xiàn)1023種不同的半透明效果。對(duì)于那些不支持混合硬件的系統(tǒng),這是一種非常有效的解決方案。但是,這種方法支持的大小固定,半透明效果也有限,并且程序運(yùn)行后只能用于一個(gè)面上,對(duì)3D模型而言就無(wú)可奈何了。
后來(lái),人們通過(guò)逆向思維,改變紋理圖像來(lái)達(dá)到透明/半透明顯示的目的。一種解決方案就是制作符合要求的帶alpha半透明通道的半透明圖片材料。另一種解決方案是在產(chǎn)生紋理對(duì)象前,對(duì)取得的等同原始紋理圖像的紋理數(shù)據(jù)進(jìn)行處理。對(duì)于透明度不變的情況,做一張符合要求效果透明度的圖不難,內(nèi)存消耗也不大,CPU(Central?Processing?Unit,中央處理單元)的占用率也低。但對(duì)于透明度不斷變化的情況,只能采用一系列透明度不同的圖片或不斷地更改獲取的等同原始紋理圖像的紋理數(shù)據(jù)去重新產(chǎn)生紋理對(duì)象快速替換物體模型已綁定的紋理對(duì)象。顯然,這兩種解決方案要么占用資源及內(nèi)存過(guò)多,要么占用CPU過(guò)多。因此,設(shè)計(jì)一種紋理圖片占用資源量少,內(nèi)存使用少,CPU占用率低的算法成為必須解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種基于OpenGL的透明/半透明顯示處理方法,旨在節(jié)約CPU的內(nèi)存,降低CPU的占用率。
本發(fā)明提供了一種基于OpenGL的透明/半透明顯示處理方法,包括以下步驟:
啟動(dòng)OpenGL應(yīng)用程序,加載設(shè)置應(yīng)用程序初始化信息;
根據(jù)預(yù)置規(guī)則,計(jì)算物體模型的alpha透明因子,并將其與應(yīng)用程序初始化信息一起發(fā)送至圖形處理單元;
圖形處理單元對(duì)所述應(yīng)用程序初始化信息、物體模型的位置狀態(tài)信息及alpha透明因子進(jìn)行處理,并將處理結(jié)果輸出至幀緩存區(qū);
顯示設(shè)備根據(jù)所述幀緩存區(qū)的處理結(jié)果,進(jìn)行圖形顯示。
優(yōu)選地,所述啟動(dòng)OpenGL應(yīng)用程序,加載設(shè)置應(yīng)用程序初始化信息的步驟具體包括:
加載物體模型頂點(diǎn)數(shù)據(jù);
加載紋理圖像數(shù)據(jù),生成紋理對(duì)象;
初始化光照信息;
加載著色器程序,生成著色器程序?qū)ο蟆?/p>
優(yōu)選地,所述圖形處理單元對(duì)所述應(yīng)用程序初始化信息及alpha透明因子進(jìn)行處理,并將處理結(jié)果輸出至幀緩存區(qū)的步驟具體包括:
根據(jù)應(yīng)用程序初始化信息及物體模型的位置狀態(tài)信息,進(jìn)行位置及光照變換處理,并對(duì)其進(jìn)行光柵化,形成像素點(diǎn)信息;
根據(jù)alpha透明因子,對(duì)光柵化處理后的像素點(diǎn)信息進(jìn)行顏色處理,生成圖像片段信息,將所述圖像片段與原有的片段進(jìn)行片段測(cè)試及混合,生成最終圖像信息,并將其輸出至幀緩存區(qū)。
優(yōu)選地,所述片段測(cè)試包括裁剪測(cè)試、alpha測(cè)試、模板測(cè)試、深度測(cè)試。
優(yōu)選地,所述根據(jù)預(yù)置規(guī)則,計(jì)算物體模型的alpha透明因子的步驟具體為:
若物體模型為靜態(tài),則alpha透明因子為預(yù)置alpha值;
若物體模型為動(dòng)態(tài),則alpha透明因子根據(jù)變換公式有規(guī)則地變化。
本發(fā)明還提供了一種基于OpenGL的透明/半透明顯示處理裝置,包括中央處理單元、圖形處理單元及顯示單元,其中:
中央處理單元,用于啟動(dòng)OpenGL應(yīng)用程序,加載設(shè)置應(yīng)用程序初始化信息;還用于根據(jù)預(yù)置規(guī)則,計(jì)算物體模型的位置狀態(tài)信息及alpha透明因子,并將其與應(yīng)用程序初始化信息一起發(fā)送至圖形處理單元;
圖形處理單元,用于對(duì)所述應(yīng)用程序初始化信息、物體模型的位置狀態(tài)信息及alpha透明因子進(jìn)行處理,并將處理結(jié)果輸出至幀緩存區(qū);
顯示設(shè)備,用于根據(jù)所述幀緩存區(qū)的處理結(jié)果,進(jìn)行圖形顯示。
優(yōu)選地,所述中央處理單元在初始化OpenGL時(shí)具體用于:
加載物體模型頂點(diǎn)數(shù)據(jù);
加載紋理圖像數(shù)據(jù),生成紋理對(duì)象;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于深圳TCL新技術(shù)有限公司,未經(jīng)深圳TCL新技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110286462.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- OPENGL到OPENGL│ES翻譯器和OPENGL│ES仿真器
- Android平臺(tái)兼容本地代碼OpenGL程序的系統(tǒng)及方法
- 開(kāi)放式圖形庫(kù)操作的處理方法和裝置
- 基于OpenGL View的控制方法、裝置及終端
- 一種基于OpenGL的MiniGUI窗口系統(tǒng)支持方法
- 一種OpenGL多重嵌套顯示列表調(diào)用方法
- 一種基于iOS移動(dòng)終端的屏幕截圖投射方法
- 圖形資源轉(zhuǎn)換方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種優(yōu)化的OpenGL圖形屬性排布方法
- OpenGL驅(qū)動(dòng)的錯(cuò)誤分級(jí)處理方法、裝置和電子設(shè)備





