專利名稱:2d/3d組合的呈現(xiàn)的制作方法
2D/3D組合的呈現(xiàn)背景當今存在讓用戶創(chuàng)建諸如演示等專業(yè)商業(yè)圖形的多種工具。用于向形狀和圖像添加潤飾的一種方法是應(yīng)用3D技術(shù)。這通常用以下兩種方式來完成 一種是對2D位圖使用模擬的3D效果,這得到有3D外觀的形狀或圖像,而沒有真實的3D 模型。所得的模擬3D圖形可能對某些用戶而言看上去不是十足的3D樣子。另一 種方法是使用全3D模型。此處,用戶構(gòu)建要顯示的項的3D模型。該方法通常要 求用戶對于3D建模和使用3D建模工具是熟練的。這一背景信息并不旨在標識出 必須通過所要求保護的主題來解決的問題。概述提供本概述以便用簡化的形式介紹將在以下詳細描述一節(jié)中進一步描述的一 些概念。本概述并不旨在標識出所要求保護的主題的關(guān)鍵特征或本質(zhì)特征,也不旨 在用于幫助確定所要求保護的主題的范圍。根據(jù)各個所描述的實施例的各方面,提供了一種呈現(xiàn)形狀時組合了 2D和3D 建模的系統(tǒng)。在一方面,該系統(tǒng)包括生成所選的形狀參數(shù)或特征的3D模型的3D 建模工廠(factory);生成2D文本和文本效果以及某些2D形狀效果(例如,填 充效果)的正面(front face)工廠;生成在形狀的水平面(ground plane)上呈現(xiàn) 的效果的水平面工廠;以及組合由正面工廠、水平面工廠和3D建模工廠生成的2D 和3D效果的光柵化器/合成引擎。當該系統(tǒng)接收到具有3D效果的形狀時,正面工 廠將該形狀分解成以下部分包括在形狀中的文本(如果有);正面的2D表面(即, 形狀的正面的表面效果);應(yīng)用于文本的3D效果(如果有);任何水平面效果(例 如,被呈現(xiàn)到形狀的水平面中的陰影、發(fā)光、倒影);以及形狀的幾何結(jié)構(gòu)(例如,圓、矩形、箭頭等)。正面工廠呈現(xiàn)任何2D文本效果(例如,陰影、發(fā)光、倒影);任何2D形狀 效果;任何2D表面效果(例如,填充、漸變填充、影像等)以及形狀的2D幾何 結(jié)構(gòu);并使用所呈現(xiàn)的2D文本效果和用于形狀的正面的2D表面效果來創(chuàng)建紋理圖。水平面工廠生成用于2D形狀效果(如果有)的水平面。另外,如果文本應(yīng)用 了 3D效果,則水平面工廠生成用于2D文本效果的水平面。3D建模工廠通過定義 2D形狀的擠壓和斜切特性來從該形狀生成3D模型。3D建模工廠然后生成用于將 紋理映射到3D模型的正面的坐標。光柵化器/合成引擎然后將來自3D建模工廠的 所得的形狀(即,具有3D幾何結(jié)構(gòu)和2D紋理圖)與來自水平面工廠的水平面相 組合。光柵化器/合成引擎使用紋理坐標來將紋理映射到3D模型上。
各實施例可被實現(xiàn)為計算機進程、計算機系統(tǒng)(包括移動、手持式計算設(shè)備) 或諸如計算機程序產(chǎn)品等制品。該計算機程序產(chǎn)品可以是可由計算機系統(tǒng)讀取并編 碼了用于執(zhí)行一計算機進程的指令的計算機程序的計算機存儲介質(zhì)。該計算機程序 產(chǎn)品也可以是可由計算系統(tǒng)讀取并編碼了用于執(zhí)行一計算機進程的指令的計算機 程序的載波上的傳播信號。
附圖簡述
參考附圖描述了非限制性且非窮盡的實施例,在全部附圖中,除非另外指定, 否則相同的參考標號指的是相同的部分。
圖1是表示根據(jù)一個實施例的具有多個應(yīng)用程序和2D/3D引擎的示例性系統(tǒng) 的框圖。
圖2是表示根據(jù)一個實施例的圖1的2D/3D引擎的示例性組件的框圖。 圖3是表示根據(jù)一個實施例的具有基于形狀的2D幾何結(jié)構(gòu)的輪廓的3D形狀 的圖。
圖4是表示根據(jù)一個實施例的被應(yīng)用于形狀的文本和3D文本的文本效果的圖。
圖5是表示根據(jù)一個實施例的在從2D形狀輸入生成3D圖形時的操作流程的 流程圖。
詳細描述
以下參考附圖更完整地描述各實施例,附圖形成了各實施例的一部分,并且 將示出用于實現(xiàn)各實施例的具體示例性實施例。然而,可用多種不同的形式來實現(xiàn) 其它實施例,并且這些實施例不應(yīng)被解釋為限于此處所述的這些實施例;相反,提 供這些實施例以使本公開內(nèi)容全面且完整。各實施例可被實施為方法、系統(tǒng)或設(shè)備。 因此,各實施例可采用硬件實現(xiàn)、完全軟件實現(xiàn)或組合了軟件和硬件方面的實現(xiàn)的形式。因此,以下詳細描述不應(yīng)在限制的意義上理解。
各實施例的邏輯操作被實現(xiàn)為(1)運行在計算系統(tǒng)上的計算機實現(xiàn)的步驟的 序列,和/或(2)計算系統(tǒng)內(nèi)的互連機器模塊。實現(xiàn)是取決于實現(xiàn)該實施例的計算 系統(tǒng)的性能要求的選擇問題。因此,構(gòu)成此處所描述的實施例的邏輯操作被替換地 稱為操作、步驟或模塊。
示例性2D/3D組合的呈現(xiàn)系統(tǒng)
上述模擬3D和3D建模方法的一個問題是它們關(guān)于典型的商業(yè)使用是不完善 的。例如,用戶可具有他們希望放入3D透視中以獲得效果的帶2D效果(例如, 漸變)的形狀,或者對其他們希望使用圖片紋理圖、漸變效果或簡單陰影的復(fù)雜 3D模型。模擬的3D方法和3D建模方法分別僅提供對于上述示例情形的解決方案 的一部分。
以下提出的實施例允許同時使用組合到一個流水線中的3D和2D效果,這生 成了專業(yè)外觀的商業(yè)圖形。用戶無需詳細了解3D建模(這可能是典型的商業(yè)用戶 之事)來使用該系統(tǒng)的實施例。
圖1示出了在呈現(xiàn)形狀時組合了 2D和3D建模的示例性系統(tǒng)100。在該實施 例中,系統(tǒng)100包括2D/3D引擎102,以及被表示為圖1中的應(yīng)用程序104-1到 104-N的一個或多個應(yīng)用程序。應(yīng)用程序104-1到104-N使用2D/3D引擎來向由應(yīng) 用程序104-1到104-N的用戶輸入的2D形狀和形狀效果提供3D效果。另外,2D/3D 引擎102還可向與形狀相關(guān)聯(lián)的文本提供3D效果。根據(jù)一個實施例,2D/3D引擎 102接收2D形狀輸入,并生成該2D形狀的某些部分的3D模型,使得呈現(xiàn)輸出包 含從2D形狀和效果(以及如果有的話,2D文本和效果)生成的部分以及從3D模 型生成的部分。這一組合的方法與上述模擬的3D方法(不包括3D模型)和純3D 建模方法不同。2D/3D引擎102的一個示例實現(xiàn)在以下結(jié)合圖2來描述。
盡管以上描述了 "共享"2D/3D引擎實施例,但是在替換實施例中,可生成 3D形狀的每一應(yīng)用程序可具有嵌入式2D/3D引擎而非單獨的2D/3D引擎102。
2D/3D引擎的示例性組件
圖2示出了根據(jù)一個實施例的2D/3D引擎102 (圖1)的示例性組件。在該實 施例中,2D/3D引擎102包括3D建模工廠202、正面工廠204、水平面工廠206 以及光柵化器/合成引擎208。 3D建模工廠202生成所選形狀參數(shù)或特征的3D模型。正面工廠204生成2D文本和文本效果,以及某些2D形狀效果(例如,填充 效果)。水平面工廠206生成在形狀的水平面上呈現(xiàn)的效果。光柵化器/合成引擎 208組合由正面工廠204、水平面工廠206以及3D建模工廠202生成的2D和3D效果。
在操作中,當2D/3D引擎102接收具有3D效果的形狀時(如通過用戶使用 由諸如圖1的應(yīng)用程序104-1等應(yīng)用程序提供的用戶界面來選擇的),正面工廠 204將該形狀分解成以下部分包括在形狀中的文本(如果有);正面的2D表面 (即,形狀的正面的表面效果);應(yīng)用于文本的3D效果(如果有);任何水平面 效果(例如,被呈現(xiàn)到形狀的水平面中的陰影、發(fā)光、倒影效果);以及形狀的幾 何結(jié)構(gòu)(例如,圓、矩形、箭頭等)。
在該實施例中,正面工廠204呈現(xiàn)任何2D文本效果(例如,陰影、發(fā)光、 倒影);任何2D形狀效果;任何2D表面效果(例如,填充、漸變填充、圖像等) 以及形狀的2D幾何結(jié)構(gòu);并使用對該形狀的正面所呈現(xiàn)的2D文本效果和2D表 面效果來創(chuàng)建紋理圖。根據(jù)該實施例,正面工廠204生成該紋理圖,使得形狀的正 面在任何模擬的光照條件下對該形狀的所有方向都保留其2D表面效果(例如,顏 色)。對于典型的商業(yè)用戶,該2D表面效果保留特征是合乎需要的(即使它可能 看上去較不真實),因為輸入的2D表面效果(例如,填充色)是用戶實際上作為 結(jié)果想要的效果(而不是當具有這一表面效果的形狀被重新定向時表面效果可能如 何顯現(xiàn))。
此外,在一個實施例中,正面工廠204將紋理(例如,包含填充效果或圖像) 擴大一個像素以確保3D模型的正面的所有部分都被圖像填充所覆蓋。
在該實施例中,水平面工廠206為2D形狀效果(如果有)生成水平面。另外, 如果文本應(yīng)用了3D效果,則水平面工廠206為2D文本效果生成水平面。水平面 生成器206取諸如陰影、模糊和倒影等2D效果,并將其繪制到水平面中。當由3D 建模工廠(例如,如下所述的)將3D效果添加到該形狀時,創(chuàng)建水平面,并且在 該水平面上呈現(xiàn)諸如陰影、模糊和倒影等2D形狀效果。水平面可被呈現(xiàn)在形狀后 面。
在該實施例中,3D建模工廠202通過形狀的擠壓和斜切特性從2D形狀幾何 結(jié)構(gòu)生成3D模型。3D建模工廠然后生成用于將紋理映射到3D模型的正面上的坐 標。例如,3D建模工廠將圍繞斜面"巻繞"2D表面效果(例如,圖片或顏色)。
此外,在一個實施例中,3D建模工廠202基于其基本的2D幾何結(jié)構(gòu)來生成3D形狀的輪廓。輪廓的一個示例在圖3中示出。在該示例中,當用戶啟用形狀的 輪廓特征時,使該形狀的"外形"更深。輪廓的顏色是用戶可定義的。例如,白色 輪廓可用于在深色背景上襯托深色形狀。并非在3D建模期間生成輪廓,而是從基 本的2D形狀(示為形狀302)中生成輪廓并將其應(yīng)用于擠壓和斜切。結(jié)果被示為 形狀304。
在該實施例中,光柵化器/合成引擎208然后將來自3D建模工廠202的所得 形狀(即,帶有3D幾何結(jié)構(gòu)和2D紋理圖)與來自水平面工廠206的水平面相組 合。光柵化器/合成引擎208使用紋理坐標將紋理映射到3D模型。
用于呈現(xiàn)3D文本的示例性組件
在一個實施例(未示出)中,存在用于3D文本的單獨的正面工廠、水平面工 廠和3D建模工廠。正面工廠呈現(xiàn)文本的2D效果。3D建模工廠通過定義文本的擠 壓和斜切特性并在文本的3D模型上映射2D文本效果來生成文本的3D模型。水 平面工廠創(chuàng)建3D文本的單獨的水平面,然后在該水平面上呈現(xiàn)諸如陰影、模糊和 倒影等2D效果。該水平面將位于該形狀頂上,使得文本效果是可觀察的。3D文 本的一個示例在圖4中示出。
用于操作系統(tǒng)/驅(qū)動程序安裝的示例性源操作流程
圖5是表示根據(jù)一個實施例在從2D形狀輸入生成3D圖形時的操作流程500 的流程圖。操作流程500可在任何合適的計算環(huán)境中執(zhí)行。例如,操作流程400 可由諸如2D/3D引擎102 (圖2)等系統(tǒng)來執(zhí)行。因此,對操作流程500的描述可 以涉及圖2的組件中的至少一個。然而,對圖2的組件的任何這樣的參考僅是出于 描述的目的,并且要理解,圖2的實現(xiàn)是操作流程500的非限制實施例。在該示例 操作流程中,使用諸如應(yīng)用程序104-1 (圖1)等應(yīng)用程序的用戶創(chuàng)建了要呈現(xiàn)的 形狀。
在框502處,如果該形狀具有文本,則2D呈現(xiàn)引擎呈現(xiàn)要應(yīng)用于該文本(例 如,如由用戶經(jīng)由應(yīng)用程序來啟用的)的任何2D文本效果。在一個實施例中,該 2D呈現(xiàn)引擎是標準的2D呈現(xiàn)引擎,并且是諸如正面工廠204 (圖2)等正面工廠 的一部分。
在框504處,如果應(yīng)用了3D文本效果(例如,如由用戶所啟用的),則水平 面工廠(例如,類似于水平面工廠206,但是針對文本而非形狀)為該文本創(chuàng)建3D水平面。該水平面與形狀的水平面是分開的。
在該示例中,框502和504僅在要向形狀的文本應(yīng)用3D效果時才執(zhí)行。
在框506處,將2D形狀效果應(yīng)用于該形狀。在一個實施例中,上述2D呈現(xiàn) 引擎向該形狀應(yīng)用2D形狀效果(例如,陰影效果、發(fā)光效果、倒影效果)。
在框508處,創(chuàng)建形狀水平面,并且將2D形狀效果與該形狀水平面相關(guān)聯(lián)。 在一個實施例中,諸如水平面工廠206等水平面工廠創(chuàng)建該水平面,并將2D形狀 效果(例如,陰影效果、發(fā)光效果、倒影效果)關(guān)聯(lián)到該形狀水平面。
在框510處,與框502相同,但是是在沒有3D效果應(yīng)用于形狀的文本的情形 中執(zhí)行的。
在框512處,將2D表面效果應(yīng)用于形狀。在一個實施例中,正面工廠的2D 呈現(xiàn)引擎將表面效果(例如,填充、漸變填充、圖像等)應(yīng)用于形狀。
在框514處,使用來自框510的2D文本效果和來自框512的2D表面效果來 創(chuàng)建紋理圖。在一個實施例中,正面工廠創(chuàng)建該紋理圖。
在框516處,從該形狀獲得2D幾何結(jié)構(gòu)。在一個實施例中,諸如3D建模工 廠202 (圖2)等3D建模工廠從該形狀中獲得2D幾何結(jié)構(gòu)。
在框518處,從在框516處獲得的2D幾何結(jié)構(gòu)中生成3D模型。在一個實施 例中,上述3D建模工廠通過定義該形狀的擠壓和斜切參數(shù)來生成3D模型。
在框520處,將來自框514的紋理圖映射到來自框518的3D模型上。在一個 實施例中,3D建模工廠將該紋理圖映射到3D模型上,使得該形狀的正面具有2D 文本、來自框510的文本效果以及來自框512的表面效果。另外,3D建模工廠還 可紋理圖應(yīng)用于將諸如擠壓和斜切等3D特征(例如,圍繞斜面和擠壓來"巻繞" 填充)。
在框522處,從來自框520的3D形狀與來自框508的水平面的組合創(chuàng)建位圖。 在一個實施例中,諸如光柵化器/合成引擎208 (圖2)等光柵化器/合成引擎創(chuàng)建 該位圖。另外,在其中將3D效果應(yīng)用于形狀的文本的情形中,光柵化器/合成引擎 還使用來自框504的水平面來創(chuàng)建位圖。
盡管以特定的次序順序地示出并描述了操作流程500,但是在其它實施例中, 在各框中描述的操作可以按不同的次序、多次、和/或并行地執(zhí)行。此外,在某些 實施例中,在各框中描述的一個或多個操作可以被分成另一框、被省略或組合。
貫穿本說明書對"一個實施例"、"一實施例"或"一示例實施例"作出了 參考,意味著所描述的特定特征、結(jié)構(gòu)或特性被包括在至少一個實施例中。由此,對這一短語的使用可以指多于僅僅一個實施例。此外,所描述的特征、結(jié)構(gòu)或特性 可在一個或多個實施例中用任何合適的方式來組合。然而,相關(guān)領(lǐng)域的技術(shù)人員可認識到各實施例可在沒有一個或多個具體細節(jié), 或具有其它方法、資源、材料等的的情況下實施。在其它情況下,未詳細示出或描述公知的結(jié)構(gòu)、資源或操作以免淡化各實施例的各方面。盡管示出并描述了示例實施例和應(yīng)用,但是要理解,本發(fā)明并不限于以上所 描述的精確配置和資源。可對此處公開的方法和系統(tǒng)的排列、操作和細節(jié)作出本領(lǐng) 域的技術(shù)人員明白的各種修改、改變和變型,而不脫離所要求保護的本發(fā)明的范圍。
權(quán)利要求
1.一種用于呈現(xiàn)形狀的方法,所述方法包括接收向2D形狀應(yīng)用3D效果的指示(200);將所述2D形狀分解成包括以下各項的集合中的一個或多個所述2D形狀的正面的2D表面、一個或多個水平面效果、以及所述形狀的幾何結(jié)構(gòu);以及從分解所得的部分的組合創(chuàng)建位圖(522),其中一個或多個效果被選擇性地應(yīng)用于所述部分中的一個或多個。
2. 如權(quán)利要求l所述的方法,其特征在于,還包括向所述2D形狀選擇性地 應(yīng)用(506) —個或多個2D形狀效果。
3. 如權(quán)利要求l所述的方法,其特征在于,還包括 選擇性地創(chuàng)建所述2D形狀的水平面(508);以及 選擇性地將一個或多個2D形狀效果關(guān)聯(lián)到所述2D形狀的水平面。
4. 如權(quán)利要求l所述的方法,其特征在于,所述集合還包括包括在所述2D 形狀中的文本、以及要應(yīng)用于所述文本的3D效果。
5. 如權(quán)利要求4所述的方法,其特征在于,還包括(502、 510)如果所述2D 形狀包括文本,則向所述文本選擇性地應(yīng)用文本效果。
6. 如權(quán)利要求4所述的方法,其特征在于,還包括(504)如果所述2D形狀 包括要應(yīng)用3D效果的文本,則選擇性地創(chuàng)建文本水平面并將一個或多個3D文本 效果與所述文本水平面相關(guān)聯(lián)。
7. 如權(quán)利要求l所述的方法,其特征在于,還包括(512)向所述2D形狀選 擇性地應(yīng)用表面效果。
8. 如權(quán)利要求7所述的方法,其特征在于,還包括(514)使用2D表面效果 或應(yīng)用于包括在所述2D形狀中的文本的2D文本效果或兩者來選擇性地創(chuàng)建紋理 圖。
9. 如權(quán)利要求l所述的方法,其特征在于,還包括(516)從所述2D形狀中 獲得2D幾何結(jié)構(gòu)。
10. 如權(quán)利要求9所述的方法,其特征在于,還包括(518)從所述2D幾何 結(jié)構(gòu)生成3D模型。
11. 如權(quán)利要求10所述的方法,其特征在于,還包括(520)將紋理圖映射到所述3D模型上,其中所述紋理圖是使用應(yīng)用于所述2D形狀的2D表面效果、 或應(yīng)用于所述2D形狀中包括的文本的2D文本效果、或兩者來創(chuàng)建的。
12. —種或多種其上儲存有指令的計算機可讀介質(zhì),所述指令在由計算機執(zhí) 行時實現(xiàn)如權(quán)利要求1所述的方法。
13. —種用于呈現(xiàn)形狀的系統(tǒng),所述系統(tǒng)包括-用于接收向2D形狀應(yīng)用3D效果的指示(200)的裝置;用于將所述2D形狀分解成包括以下各項的集合中的一個或多個的裝置,包 括所述2D形狀的正面的2D表面、 一個或多個水平面效果、以及所述形狀的幾 何結(jié)構(gòu);以及用于從所述分解所得的部分的組合創(chuàng)建位圖(522)的裝置,其中一個或多個 效果被選擇性地應(yīng)用于所述部分中的一個或多個。
14. 如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括 用于向所述2D形狀選擇性地應(yīng)用(506) —個或多個2D形狀效果的裝置; 用于選擇性地創(chuàng)建所述2D形狀的水平面(508)的裝置;以及 用于選擇性地將一個或多個2D形狀效果關(guān)聯(lián)到所述2D形狀的水平面的裝置。
15. 如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括用于(504)選擇性地 創(chuàng)建文本水平面并將一個或多個文本效果與所述文本水平面相關(guān)聯(lián)的裝置。
16. 如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括 用于(512)選擇性地向所述2D形狀應(yīng)用表面效果的裝置;用于(514)選擇性地使用所述2D表面效果或應(yīng)用于包括在所述2D形狀中 的文本的2D文本效果或兩者來創(chuàng)建紋理圖的裝置。
17. 如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括 用于(516)從所述2D形狀獲得2D幾何結(jié)構(gòu)的裝置; 用于(518)從所述2D幾何結(jié)構(gòu)生成3D模型的裝置;以及用于(520)將紋理圖映射到所述3D模型上的裝置,其中所述紋理圖是使用 應(yīng)用于所述2D形狀的2D表面效果或應(yīng)用于包括在所述2D形狀內(nèi)的文本的文本 效果或兩者來創(chuàng)建的。
18. —種用于呈現(xiàn)形狀的系統(tǒng),所述系統(tǒng)包括接收向2D形狀應(yīng)用3D效果的指示(200)的引擎,所述引擎還包括 生成所選形狀參數(shù)的3D模型的3D建模組件(202);選擇性地生成2D文本以及文本效果和2D形狀效果的正面組件(204); 生成在形狀的水平面上呈現(xiàn)的效果的水平面組件(206);以及 組合由所述正面組件、水平面組件和3D建模工廠生成的2D和3D效果的光 柵化器/合成引擎(208)。
19. 如權(quán)利要求18所述的系統(tǒng),其特征在于,所述正面組件還選擇性地呈現(xiàn) 所述2D形狀的2D文本效果、2D形狀效果、2D表面效果和2D幾何結(jié)構(gòu),并且 還選擇性地使用對所述2D形狀的正面所呈現(xiàn)的2D文本效果和2D表面效果來創(chuàng) 建紋理圖。
20. 如權(quán)利要求19所述的系統(tǒng),其特征在于,所述3D建模組件還生成用于 將所述紋理映射到所述3D模型的正面上的坐標。
全文摘要
一種系統(tǒng)在呈現(xiàn)形狀時組合了2D和3D建模,并包括生成所選形狀參數(shù)或特征的3D模型的3D建模工廠;生成2D文本和文本效果以及某些2D形狀效果的正面工廠;生成呈現(xiàn)在形狀的水平面上的效果的水平面工廠;以及組合由正面工廠、水平面工廠和3D建模工廠生成的2D和3D效果的光柵化器/合成引擎。
文檔編號G06T15/50GK101258527SQ200680032786
公開日2008年9月3日 申請日期2006年9月6日 優(yōu)先權(quán)日2005年9月9日
發(fā)明者A·P·巴克什, D·N·伯格, G·F·佩特舒寧格, M·W·科納克, S·B·科伊 申請人:微軟公司