[發(fā)明專利]OPENGL到OPENGL│ES翻譯器和OPENGL│ES仿真器有效
| 申請?zhí)枺?/td> | 200610077518.0 | 申請日: | 2006-04-20 |
| 公開(公告)號: | CN101059760A | 公開(公告)日: | 2007-10-24 |
| 發(fā)明(設(shè)計)人: | C·夸爾;李海珍;陳國基 | 申請(專利權(quán))人: | 意法半導(dǎo)體研發(fā)(上海)有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 中國專利代理(香港)有限公司 | 代理人: | 楊凱;劉杰 |
| 地址: | 中國上海市東川路555*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | opengl es 翻譯器 仿真器 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及使用OpenGL|ES圖形標(biāo)準(zhǔn)用于移動設(shè)備(比如G4M類型的設(shè)備)的三維(3D)應(yīng)用開發(fā),具體地說,涉及用來允許在OpenGL|ES實現(xiàn)之上的OpenGL應(yīng)用的運行的翻譯器。?
背景技術(shù)
3D圖形標(biāo)準(zhǔn)OpenGL常用于在個人計算機(PC)環(huán)境中的圖形繪制。圖形標(biāo)準(zhǔn)OpenGL|ES是把移動設(shè)備、比如移動電話和其它手機作為目標(biāo)的OpenGL標(biāo)準(zhǔn)的清淡版本。盡管建立了OpenGL|ES標(biāo)準(zhǔn),但存在一個問題即:OpenGL|ES標(biāo)準(zhǔn)太新了以致在市場中基于該標(biāo)準(zhǔn)的3D應(yīng)用非常少。但是,確實存在相當(dāng)大數(shù)量的用OpenGL為個人計算機編寫的遺留應(yīng)用。直到更適合的基于OpenGL|ES標(biāo)準(zhǔn)的應(yīng)用在市場上出現(xiàn),消費者想要在他們的移動設(shè)備上有機會運行許多基于OpenGL標(biāo)準(zhǔn)的應(yīng)用。然而,在OpenGL和OpenGL|ES之間的區(qū)別阻止這發(fā)生到任何消費者滿意的程度,特別是對圖形密集應(yīng)用、比如3D游戲而言更是如此。?
在所有的基本OpenGL?API(應(yīng)用編程接口,有時稱作命令)中,在OpenGL|ES中僅僅保留了約10%沒有變化。在OpenGL|ES中保留了約50%的OpenGL?API有微小變化,比如允許較少、不同或新的參數(shù)。剩余的基本OpenGL?API在OpenGL|ES中根本不支持。關(guān)于基于OpenGL的應(yīng)用和OpenGL|ES繪制引擎實現(xiàn),對于OpenGL|ES完全支持的第一類的API,由OpenGL應(yīng)用發(fā)送的相關(guān)命令能直接發(fā)送到OpenGL|ES圖形繪制實現(xiàn)。然而,對于受限支持的OpenGL命令,例如其中僅僅支持受限的參數(shù),以及對于根本不被支持的OpenGL?命令,需要一些翻譯工作以便能夠在OpenGL|ES實現(xiàn)上正確地運行應(yīng)用。?
Dylogic提供了被稱作“DOGLESS”的翻譯器程序,它把OpenGL調(diào)用翻譯到OpenGL|ES并且把它們轉(zhuǎn)發(fā)到底層的OpenGL|ES實現(xiàn)DLL。見http://sourceforge.net/Projects/dogless。為了在OpenGL|ES實現(xiàn)上運行OpenGL應(yīng)用,Dylogic的翻譯器截取在OpenGL|ES中不支持的運行時OpenGL命令,并且試圖通過使用支持的命令翻譯這些命令。在圖1的流程圖中描繪了這種功能性。使用這種解決方案,一些OpenGL應(yīng)用和游戲,包括類似Quake2的圖形密集游戲,能夠在OpenGL|ES實現(xiàn)上正確地運行。?
然而,圖1的Dylogic翻譯器是概念證據(jù)產(chǎn)品并且僅僅翻譯非常少量的OpenGL?API。而且,與將在下文中更詳細(xì)地討論的一樣,一些這些翻譯是游戲相關(guān)的。例如,眾所周知Dylogic翻譯器對游戲Quake2工作較好,但對于其它游戲卻不好。?
為了提交多邊形的頂點數(shù)據(jù)(坐標(biāo)、顏色、法線......)以便繪制,OpenGL支持兩種方式:a)“立即方式”,其中在兩個GL命令之間逐個頂點地發(fā)送數(shù)據(jù):glBegin/glEnd范例(如圖5所示的示例);或b)為每個數(shù)據(jù)類型使用頂點數(shù)組。然而,在OpenGL|ES中,僅僅支持頂點數(shù)組方法。因為在單個命令中發(fā)送所有的圖元數(shù)據(jù),所以頂點數(shù)組更為有效。Dylogic翻譯器工具幾乎專門集中在glBegin/glEnd范例的翻譯上。這示出在圖2中。?
Dylogic翻譯器解決方案把glBegin/glEnd范例翻譯到頂點數(shù)組如下:在glBegin命令中,通過使用命令glEnableClientState(其啟用所有的用于顏色、法線頂點、紋理坐標(biāo)的數(shù)組)激活所有的頂點數(shù)組。這完成了復(fù)雜圖元到三角形的轉(zhuǎn)換。然后通過匯編在命令glVertex、glColor、glTexCoord和glNormal中指定的數(shù)據(jù)來準(zhǔn)備用于頂點數(shù)組的數(shù)據(jù)。隨后,使用glEnd命令,把頂點數(shù)組傳遞到實現(xiàn)和使用APIglDrawArray來繪制對象。
從Dylogic翻譯器解決方案的回顧能容易地注意到有若干理由表明翻譯工作太過簡單了。首先,給定應(yīng)用的需要(顏色、法線、紋理坐標(biāo)),Dylogic解決方案啟用用于頂點坐標(biāo)、顏色、法線和紋理坐標(biāo)的所有客戶頂點數(shù)據(jù)數(shù)組指針以及把相關(guān)的數(shù)組傳遞到繪制引擎。這意味著在解決方案中使用無用的命令和數(shù)據(jù),它會導(dǎo)致資源的浪費和性能的戲劇性丟失。其次,在Dylogic解決方案中,在glEnd命令中沒有記錄和恢復(fù)數(shù)組狀態(tài)。這會出現(xiàn)存儲器問題。第三,Dylogic解決方案沒有考慮多個紋理。?
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于意法半導(dǎo)體研發(fā)(上海)有限公司,未經(jīng)意法半導(dǎo)體研發(fā)(上海)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610077518.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種水稻專用配方肥
- 下一篇:將磷泥輸送回爐以回收黃磷的方法及其裝置
- 圖像記錄重放裝置
- OPENGL到OPENGL│ES翻譯器和OPENGL│ES仿真器
- 燃料電池系統(tǒng)
- 一種數(shù)字電視導(dǎo)航方法、系統(tǒng)及裝置
- 圖像數(shù)據(jù)發(fā)送設(shè)備、圖像數(shù)據(jù)發(fā)送方法、圖像數(shù)據(jù)接收設(shè)備以及圖像數(shù)據(jù)接收方法
- 在基于小型小區(qū)的無線接入系統(tǒng)中用于確定節(jié)能補償小區(qū)的方法和設(shè)備
- 刪除ES索引的方法及裝置
- 資源檢索方法及計算機可讀存儲介質(zhì)
- 將ES集群中的角色進(jìn)行分離的方法
- 車載供電線路的切換控制裝置
- 支持多芯片配置功能的仿真器
- 行程仿真器、具有該行程仿真器的主缸、以及使用該主缸的制動系統(tǒng)
- 一種聯(lián)合RTDS和RT?LAB的MMC仿真系統(tǒng)
- 一種電力信息物理融合系統(tǒng)實時仿真平臺及其方法
- 一種支持NVM掉電保護(hù)功能測試的仿真器
- 一種多仿真器協(xié)同的仿真方法、仿真主控平臺和仿真系統(tǒng)
- 一種基于計算機的煉鋼物流仿真系統(tǒng)
- 支持調(diào)試權(quán)限控制的CPU芯片仿真器
- 一種仿真器切換方法及系統(tǒng)
- 支持?jǐn)?shù)據(jù)安全傳輸?shù)腃PU芯片仿真器及數(shù)據(jù)安全傳輸方法





