[發明專利]一種移動終端3D模型實現方法和裝置有效
| 申請號: | 201310598189.4 | 申請日: | 2013-11-22 |
| 公開(公告)號: | CN103617220B | 公開(公告)日: | 2017-01-18 |
| 發明(設計)人: | 陳軼;吳遠青;王瑋;潘騰;郭偉;王旭東 | 申請(專利權)人: | 北京掌闊移動傳媒科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06T17/00 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100026 北京市朝*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 移動 終端 模型 實現 方法 裝置 | ||
技術領域
本發明屬于移動終端領域,涉及一種應用于移動終端領域中的3D模型實現方法和裝置。
背景技術
隨著2007年iPhone的火爆,現在全球興起了智能手機熱。人們在日常生活中,會通過智能手機上上網,玩各種應用。根據某些調研機構觀察,人們在智能手機上用的最多的應用類型是游戲類應用。而隨著智能手機處理器的性能日益提升,很多游戲都開始3D化了,并且一些知名的移動廣告平臺也準備推出基于3D模型展示的廣告類型來與用戶進行互動。因此,在手持移動設備上展示3D模型已經是一個必然的趨勢了。
然而,盡管移動設備處理器的性能在逐步加強,但考慮到移動設備首要考慮的續航時間、功耗、發熱等因素,它們必然無法像桌面電腦處理器性能那么強勁。而目前市面上通用的用于描述3D物體模型的3D-OBJ文件原本是為桌面電腦處理器而開發定制的,并且適應于老舊、臃腫的OpenGL標準。而手持設備上的圖形處理器僅支持輕量級的OpenGL標準,即OpenGL?ES。因此,這里提供一種適用于移動設備端的3D模型描述格式。
現有的3D-OBJ文件有以下三個重大缺陷:
1、在設備端解析此格式時,內存資源消耗嚴重。由于文件格式中沒有列出模型頂點個數、法線個數、紋理坐標個數以及頂點索引個數,因此設備端要解析時,要么先申請一個很大的內存,那么多次分配小的內存塊。對于前者方式,這本身就是對內存資源的浪費。考慮到目
前大部分移動設備的內存都在512MB以下,而分配給每個應用的內存空間往往連50MB都不到,因此當后臺應用一多并且當前3D-OBJ文件中所描述的頂點元素一多時,很容易出現因內存不足而使得當前應用崩潰的現象。而若采用后者的方式,會因為過多對內存做動態分配,使得系統的內存池會出現許多垃圾碎片,這個問題對于Android系統而言尤為突出。本格式規范通過在文件開頭明確列出頂點坐標個數、紋理坐標個數,使得設備端能恰好分配當前描述文件中所需要的存放頂點坐標數據以及紋理坐標數據的內存資源,不會造成內存資源的浪費。
2、格式本身太過冗余。由于當前3D-OBJ描述文件每一行都對應相應的標識以區分是頂點坐標還是法線坐標或是紋理坐標等。這個不僅會加大描述文件的尺寸,而且也會給設備端的解析帶來額外的負擔。本格式規范通過在某一類信息之前加一次標識來去除不必要的分類前綴,使得文件大小大大減少。這樣既能更快地通過2G或3G網絡下載文件,而設備端也能更快地去解析文件。
3、并不適合移動設備端的OpenGL?ES標準。由于當前的3D-OBJ描述文件是基于臃腫老舊的OpenGL標準來描述的,因此存在很多OpenGL?ES標準不需要的屬性。
發明內容
本發明所要解決的技術問題是克服老舊的OpenGL標準并不適合于移動終端,為此,提供一種新的3D描述文件,并據此提供了基于所述3D描述文件的移動終端3D模型實現方法和裝置。
本發明解決上述技術問題所采取的技術方案如下:
一種移動終端3D模型實現方法,包括:
終端解析器獲取并解析3D描述文件,所述3D描述文件中包括:
3D模型的材質信息、x軸、y軸、z軸的最大和最小值、頂點坐標總數、頂點坐標、紋理坐標以及紋理圖片信息;
讀取x軸、y軸和z軸的最大和最小值;
讀取頂點坐標總數,根據頂點總數分配緩存空間,并將具體的頂點坐標與紋理坐標信息放入到所述緩存空間之中;
基于所述x軸、y軸、z軸的最大和最小值初始化渲染器;
查詢3D描述文件并判斷其中是否包含三角形繪制模式,當獲取到三角形繪制模式時,基于所述三角形的繪制模式和頂點坐標的總數、頂點坐標、紋理坐標信息以及紋理圖片繪制相對應的3D模型。
其中,所述初始化渲染器,包括:
根據手機屏幕大小創建并分配視口大??;根據x軸、y軸和z軸的最大和最小值設置正交投影變換。
其中,根據x軸、y軸和z軸的最大和最小值設置正交投影變換,包括:
獲取物體在x軸、y軸和z軸的總長度,并分別基于各自的總長度創建對應的x軸、y軸、z軸的兩端坐標。
其中,所述3D描述文件中,分別基于一個標識符來定義后續的數字為頂點信息、頂點坐標信息和紋理坐標信息。
其中,所述紋理坐標和頂點坐標的個數與順序相對應,且所述緩存空間中,基于線性存儲的方式存儲所述紋理坐標和頂點坐標信息。
其中,所述3D描述模型通過過濾器對Blender3D的3D-OBJ文件轉換和過濾生成,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京掌闊移動傳媒科技有限公司,未經北京掌闊移動傳媒科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310598189.4/2.html,轉載請聲明來源鉆瓜專利網。





