專利名稱:一種三維建模中紋理數(shù)據(jù)的繪制方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及三維建模技術(shù)領(lǐng)域,特別是涉及一種三維建模中紋理數(shù)據(jù)的繪制方法 及裝置。
背景技術(shù):
三維建模從過程上來講,是在空間建立立體模型的一種方法;從結(jié)果上來講,簡單 的說就是建立的模型具有空間感并能看到上下前后左右。三維建模常用于地理信息數(shù)據(jù)的 處理,在油田開發(fā)、地質(zhì)研究、地圖繪制等多個(gè)領(lǐng)域具有應(yīng)用價(jià)值。在三維數(shù)據(jù)建模的過程中會(huì)使用到兩種數(shù)據(jù)一種是高程數(shù)據(jù),用來進(jìn)行建模; 另一種是紋理數(shù)據(jù),用來進(jìn)行紋理貼圖美化其顯示效果。高度建模只是為了將地貌的高度 起伏變化呈現(xiàn)出來,而顯示效果主要是由紋理來表示。當(dāng)利用高程數(shù)據(jù)建好模型之后,還需要將紋理映射到模型上。其中,紋理數(shù)據(jù)主要 是指航拍圖像或者其他的地形地貌圖像,但還有一部數(shù)據(jù)是用戶定制數(shù)據(jù),這部分?jǐn)?shù)據(jù)會(huì) 根據(jù)用戶的不同需求而臨時(shí)改變或后期產(chǎn)生,如河流、國家邊界、區(qū)域著色等。目前,由于紋理數(shù)據(jù)和定制數(shù)據(jù)是混合在一起,通過一個(gè)數(shù)據(jù)層映射到高程模型 上,因此都稱為紋理數(shù)據(jù)或紋理層。這種映射的缺點(diǎn)是由于定制數(shù)據(jù)需要根據(jù)不同用戶的 需求經(jīng)常修改,因此一旦修改這部分定制數(shù)據(jù),就需要重新繪制紋理數(shù)據(jù)和定制數(shù)據(jù)并混 合到一起,非常麻煩。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種三維建模中紋理數(shù)據(jù)的繪制方法及裝置, 能夠使紋理數(shù)據(jù)與定制數(shù)據(jù)相分離,分別映射到模型上。為了解決上述問題,本發(fā)明公開了一種三維建模中紋理數(shù)據(jù)的繪制方法,包括獲取建立好的三維模型及對(duì)應(yīng)的紋理文件;將紋理文件映射到所述三維模型上;建立空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到所述三維模型的紋 理之上。其中,所述建立空白紋理包括建立一個(gè)對(duì)應(yīng)于最大可見范圍的空白紋理。其中,所述將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到所述三維模型的紋理之 上包括將繪制好的紋理對(duì)應(yīng)塊數(shù)據(jù)進(jìn)行分割,然后映射到模型的紋理之上。其中,所述定制數(shù)據(jù)包括臨時(shí)改變或后期產(chǎn)生的數(shù)據(jù),包括國界、河流區(qū)域著色數(shù) 據(jù)。本發(fā)明還提供了一種三維建模中紋理數(shù)據(jù)的繪制裝置,包括獲取模塊,用于獲取建立好的三維模型及對(duì)應(yīng)的紋理文件;
3
紋理映射模塊,用于將紋理文件映射到所述三維模型上;定制數(shù)據(jù)映射模塊,用于建立空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映 射到所述三維模型的紋理之上。其中,所述定制數(shù)據(jù)映射模塊建立一個(gè)對(duì)應(yīng)于最大可見范圍的空白紋理。其中,所述定制數(shù)據(jù)映射模塊將繪制好的紋理對(duì)應(yīng)塊數(shù)據(jù)進(jìn)行分割,然后映射到 模型的紋理之上。其中,所述定制數(shù)據(jù)包括臨時(shí)改變或后期產(chǎn)生的數(shù)據(jù),包括國界、河流區(qū)域著色數(shù) 據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本實(shí)施例采用了一種簡化的方式,首先將紋理數(shù)據(jù)映射到三維模型上,然后建立 空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到所述紋理數(shù)據(jù)上。即紋理數(shù)據(jù)和定 制數(shù)據(jù)分別作為兩層數(shù)據(jù)映射到高程數(shù)據(jù)上,定制數(shù)據(jù)的任何修改都不會(huì)影響紋理數(shù)據(jù), 因此修改十分方便。
圖1是本發(fā)明實(shí)施例一所述一種三維建模中紋理數(shù)據(jù)的繪制方法流程圖;圖2是本發(fā)明實(shí)施例二所述一種三維建模中紋理數(shù)據(jù)的繪制方法流程圖;圖3是本發(fā)明實(shí)施例三所述一種三維建模中紋理數(shù)據(jù)的繪制裝置結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。實(shí)施例一參照?qǐng)D1,是本發(fā)明實(shí)施例一所述一種三維建模中紋理數(shù)據(jù)的繪制方法流程圖。步驟101,獲取建立好的三維模型及對(duì)應(yīng)的紋理文件;所述三維模型是利用高程數(shù)據(jù)構(gòu)建而成,所述高程數(shù)據(jù)用于呈現(xiàn)地貌的高度起伏 變化;所述紋理文件是指航拍圖像或者其他的地形地貌圖像,用于美化顯示效果。本實(shí)施例中,利用高程數(shù)據(jù)構(gòu)建三維模型的過程是第一步,將高程數(shù)據(jù)按照分辨率分割為多個(gè)層次,每個(gè)層次的數(shù)據(jù)進(jìn)行塊分割;第二步,逐層選擇需要顯示的數(shù)據(jù)塊進(jìn)行建模;因?yàn)橛行﹨^(qū)域是在顯示的背面,有些區(qū)域是在顯示窗口之外,這些區(qū)域都不需要 建模。對(duì)單個(gè)數(shù)據(jù)塊的建模過程是首先讀入該數(shù)據(jù)塊區(qū)域的所有高程值,這些值是帶 高度坐標(biāo)的三維點(diǎn),然后經(jīng)過一系列的坐標(biāo)變換后變換到需要顯示的空間坐標(biāo)中,再將這 些三維點(diǎn)進(jìn)行三角面片構(gòu)建形成一個(gè)瓦片狀區(qū)域。第三步,將這些需要顯示的數(shù)據(jù)塊模型拼接起來,就組成了 一個(gè)完整的三維模型。這種分層分塊的處理,可以將顯示在背面以及顯示在窗口之外的數(shù)據(jù)塊舍棄,只 對(duì)需要顯示的數(shù)據(jù)塊進(jìn)行建模,從而減少了建模過程的數(shù)據(jù)量,降低了算法的復(fù)雜度,節(jié)約 了建模時(shí)間。
步驟102,將紋理文件映射到所述三維模型上;即使用相對(duì)應(yīng)區(qū)域的航拍圖像或者其他的地形地貌圖像作為紋理,映射到這個(gè)區(qū) 域瓦片狀物體上。映射的方式有多種可選。在三維圖形中,紋理映射(Texture Mapping)的方法運(yùn)用得最廣,尤其描述具有真 實(shí)感的物體。比如繪制一面磚墻,就可以使用一幅具有真實(shí)感的圖像或者照片作為紋理貼 到一個(gè)矩形上,這樣,一面逼真的磚墻就畫好了。如果不用紋理映射的方法,這墻上的每一 塊磚都要作為一個(gè)獨(dú)立的多邊形來繪制。另外,紋理映射能夠保證在變換多邊形時(shí),多邊形 上的紋理也會(huì)隨之變化。例如,用透視投影模式觀察墻面時(shí),離視點(diǎn)遠(yuǎn)的墻壁的磚塊的尺寸 就會(huì)縮小,而離視點(diǎn)近的就會(huì)大些,這些是符合視覺規(guī)律的。此外,紋理映射也被用在其他 一些領(lǐng)域。如飛行仿真中常把一大片植被的圖像映射到一些大多邊形上用以表示地面,或 者用大理石、木材等自然物質(zhì)的圖像作為紋理映射到多半形上表示相應(yīng)的物體。紋理對(duì)象 通過一個(gè)單獨(dú)的數(shù)字來標(biāo)識(shí)。這允許OpenGL硬件能夠在內(nèi)存中保存多個(gè)紋理,而不是每次 使用的時(shí)候再加載它們,從而減少了運(yùn)算量,提高了速度。紋理映射是真實(shí)感圖像制作的一個(gè)重要部分,運(yùn)用它可以方便的制作出極具真實(shí) 感的圖形而不必花過多時(shí)間來考慮物體的表面細(xì)節(jié)。步驟103,建立空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到所述三維 模型的紋理之上。即對(duì)于河流、國家邊界、區(qū)域著色等臨時(shí)改變或后期產(chǎn)生的用戶定制數(shù)據(jù),會(huì)使用 繪制的方式畫上去。繪制的方式是建立一個(gè)空白的紋理圖像,然后將這個(gè)紋理圖像作為 一個(gè)待繪制的畫布,將需要繪制的數(shù)據(jù)通過坐標(biāo)轉(zhuǎn)換到畫布空間,再使用⑶〖+(Graphics Device hterface,圖形設(shè)備接口)的方式在畫布上繪制河流、邊界等需要繪制的信息,最 后將繪制完成的畫布更新到映射紋理上。本實(shí)施例與現(xiàn)有技術(shù)的區(qū)別是本實(shí)施例中,紋理數(shù)據(jù)和定制數(shù)據(jù)可以作為兩個(gè) 層次的數(shù)據(jù)分別映射到高度模型上,即紋理數(shù)據(jù)和定制數(shù)據(jù)是相分離的,因此定制數(shù)據(jù)的 修改不會(huì)影響紋理數(shù)據(jù);而現(xiàn)有技術(shù)中,紋理數(shù)據(jù)和定制數(shù)據(jù)是混合為一層數(shù)據(jù)映射到高 度模型上的,一旦修改定制數(shù)據(jù),就要重新繪制定制數(shù)據(jù)和紋理數(shù)據(jù),并進(jìn)行混合。由此可 見,本實(shí)施例更加靈活。實(shí)施例二 參照?qǐng)D2,是本發(fā)明實(shí)施例二所述一種三維建模中紋理數(shù)據(jù)的繪制方法流程圖。步驟201,對(duì)分塊區(qū)域進(jìn)行建模;步驟202,獲取對(duì)應(yīng)的紋理數(shù)據(jù),并映射到建立好的模型上;步驟203,建立一個(gè)對(duì)應(yīng)于最大可見范圍的空白紋理;步驟204,在空白紋理上繪制國界、河流等用戶需求的信息;步驟205,將繪制好的紋理對(duì)應(yīng)塊數(shù)據(jù)進(jìn)行分割,然后映射到模型的紋理數(shù)據(jù)之 上。實(shí)施例三參照?qǐng)D3,是本發(fā)明實(shí)施例三所述一種三維建模中紋理數(shù)據(jù)的繪制裝置結(jié)構(gòu)圖。所述裝置主要包括獲取模塊31,用于獲取建立好的三維模型及對(duì)應(yīng)的紋理文件;
紋理映射模塊32,用于將紋理文件映射到所述三維模型上;定制數(shù)據(jù)映射模塊33,用于建立空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并 映射到所述三維模型的紋理之上。其中,所述定制數(shù)據(jù)映射模塊33建立一個(gè)對(duì)應(yīng)于最大可見范圍的空白紋理,然后 將繪制好的紋理對(duì)應(yīng)塊數(shù)據(jù)進(jìn)行分割,并映射到模型的紋理之上。其中,所述定制數(shù)據(jù)包括臨時(shí)改變或后期產(chǎn)生的數(shù)據(jù),包括國界、河流區(qū)域著色數(shù) 據(jù)。所述裝置采用了一種簡化的方式,首先將紋理數(shù)據(jù)映射到三維模型上,然后建立 空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到所述紋理數(shù)據(jù)上。即紋理數(shù)據(jù)和定 制數(shù)據(jù)分別作為兩層數(shù)據(jù)映射到高程數(shù)據(jù)上,定制數(shù)據(jù)的任何修改都不會(huì)影響紋理數(shù)據(jù), 因此修改十分方便。本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與 其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置實(shí)施例 而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部 分說明即可。以上對(duì)本發(fā)明所提供的一種三維建模中紋理數(shù)據(jù)的繪制方法及裝置,進(jìn)行了詳細(xì) 介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明 只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本 發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng) 理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種三維建模中紋理數(shù)據(jù)的繪制方法,其特征在于,包括 獲取建立好的三維模型及對(duì)應(yīng)的紋理文件;將紋理文件映射到所述三維模型上;建立空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到所述三維模型的紋理之上。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述建立空白紋理包括 建立一個(gè)對(duì)應(yīng)于最大可見范圍的空白紋理。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將定制數(shù)據(jù)繪制到所述空白紋理上, 并映射到所述三維模型的紋理之上包括將繪制好的紋理對(duì)應(yīng)塊數(shù)據(jù)進(jìn)行分割,然后映射到模型的紋理之上。
4.根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于所述定制數(shù)據(jù)包括臨時(shí)改變或后期產(chǎn)生的數(shù)據(jù),包括國界、河流區(qū)域著色數(shù)據(jù)。
5.一種三維建模中紋理數(shù)據(jù)的繪制裝置,其特征在于,包括 獲取模塊,用于獲取建立好的三維模型及對(duì)應(yīng)的紋理文件; 紋理映射模塊,用于將紋理文件映射到所述三維模型上;定制數(shù)據(jù)映射模塊,用于建立空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到 所述三維模型的紋理之上。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于所述定制數(shù)據(jù)映射模塊建立一個(gè)對(duì)應(yīng)于最大可見范圍的空白紋理。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于所述定制數(shù)據(jù)映射模塊將繪制好的紋理對(duì)應(yīng)塊數(shù)據(jù)進(jìn)行分割,然后映射到模型的紋理 之上。
8.根據(jù)權(quán)利要求5至7任一所述的裝置,其特征在于所述定制數(shù)據(jù)包括臨時(shí)改變或后期產(chǎn)生的數(shù)據(jù),包括國界、河流區(qū)域著色數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種三維建模中紋理數(shù)據(jù)的繪制方法及裝置,所述方法包括獲取建立好的三維模型及對(duì)應(yīng)的紋理文件;將紋理文件映射到所述三維模型上;建立空白紋理,將定制數(shù)據(jù)繪制到所述空白紋理上,并映射到所述三維模型的紋理之上。本發(fā)明紋理數(shù)據(jù)和定制數(shù)據(jù)分別作為兩層數(shù)據(jù)映射到高程數(shù)據(jù)上,定制數(shù)據(jù)的任何修改都不會(huì)影響紋理數(shù)據(jù),因此修改十分方便。
文檔編號(hào)G06T15/10GK102117491SQ200910244280
公開日2011年7月6日 申請(qǐng)日期2009年12月30日 優(yōu)先權(quán)日2009年12月30日
發(fā)明者龔浩 申請(qǐng)人:新奧特(北京)視頻技術(shù)有限公司