3D電腦圖形

維基百科,自由的百科全書
跳轉到: 導覽搜尋
簡單3D繪製。

3D電腦圖形3D Computer Graphics)是電腦和特殊3D軟體幫助下創造的作品。一般來講,該術語可指代創造這些圖形的過程,或者3D電腦圖形技術的研究領域,及其相關技術。

3D電腦圖形和2D電腦圖形的不同之處在於電腦記憶體儲存了幾何資料的3D表示,用於計算和繪製最終的2D影像。

一般來講,為3D電腦圖形準備幾何資料的3D建模的藝術和雕塑及照相類似,而2D電腦圖形的藝術和繪畫相似。但是,3D電腦圖形依賴於很多2D電腦圖形的相同演算法。

電腦圖形軟體中,該區別有時很模糊;有些2D應用程式使用3D技術來達到特定效果,譬如燈光,而有些主要用於3D的應用程式採用2D的視覺技術。2D圖形可以看作3D圖形的子集。

技術[編輯]

OpenGLDirect3D是兩個用於產生即時圖象的流行的API。(即時表示圖象的產生在『真實的時間』中,或者說『隨時』)。很多現代顯示卡提供了基於這些API的一定程度的硬體加速,經常使得複雜的3D圖象即時產生。但是,真正產生3D景象並不一定要使用其中的任何一個。

3D電腦圖形的建立[編輯]

建立3D電腦圖形的過程可以順序分為三個基本階段:

  • 建模
  • 場景布局
  • 繪製

建模[編輯]

建模階段可以描述為「確定後面場景所要使用的物件的形狀」的過程。有很多建模技術,他們包括(但不僅僅是):

建模過程可能也包括編輯物體表面或材料性質(例如,顏色,熒光度,漫射和鏡面反射分量—經常被叫做粗糙度和光潔度,反射特性,透明度或不透明度,或者折射指數),增加紋理,凹凸對映和其它特徵。

建模可能也包括各種和準備動畫的3D模型相關的各種活動(雖然在複雜的任務建模中,這將自己成為一個階段,稱為索具(rigging))。物件可能用一個骨架撐起來,一個物體的中央框架,它可以影響一個物件的形狀或運動。這個對動畫構造過程很有幫助,骨架的運動自動決定模型相關部分。參看正運動動畫逆運動動畫。在索具階段,模型也可以給定特定的控制,使得運動的控制更為簡便和直觀,例如用於聲音嘴唇同步的面部表情控制和嘴形(音素)。

建模可以用以此為目的設計的程式(例如,Lightwave建模軟體,Rhinoceros 3DMoray),應用的模組(Shaper,3D Studio Max的Lofter)或者某些場景描述語言(例如POV-Ray)。在有些情況,這些階段之間沒有嚴格的區別;在這些情況下,建模只是場景建立過程的一部分(例如Caligari trueSpace就屬於這種情況)。

加工[編輯]

場景布局設定[編輯]

場景設定涉及安排一個場景內的虛擬物體,燈光,攝像機和其他實體,它將被用於製作一幅靜態畫面或一段動畫。如果用於動畫,該階段通常採用叫做「關鍵影格」(key frame)的技術,它使得場景內複雜的運動的建立變得簡單。使用關鍵影格的幫助,而不是必須對於動畫中的每一影格設定物件的位置,方向或比例,只需設立一些關鍵的影格,它們之間的狀態可以用插值得到。

照明是場景布置中一個重要的方面。就象在實際場景布置的時候一樣,光照是最終作品的審美和視覺品質的關鍵因素之一。因而,它是一項很難掌握的藝術。光照因素可以對一個場景的氛圍和情緒反映作出重大貢獻,這是為攝影師和舞台照明師所熟悉的事實。

三角剖分和網格[編輯]

把物體的表示(例如球面的中坐標和它的表面上的一個點所表示的球面),轉換到一個(球面的)多邊形表示的過程,稱為剖分(tesselation)。該步驟用於基於多邊形的繪製,其中物件從象球面,圓錐面等等這樣的抽象的表示("體素"),分解成為所謂"網格",它是互相連線的三角形的網路。

三角網格(而不是正方形等形狀)比較流行,因為它們易於採用掃描線繪製進行繪製。

多邊形表示不是所有繪製技術都必須的,而在這些情況下,從抽象表示到繪製出的場景的轉換不包括剖分步驟。

繪製[編輯]

渲染是從準備的場景建立實際的2D景象或動畫的最後階段。這可以和現實世界中在布景完成後的照相或攝製場景的過程相比。

用於諸如遊戲或模擬程式這樣的互動式媒體的繪製需要即時計算和顯示,速度約為20到120影格每秒。非互動式媒體(譬如錄象或電影),繪製的慢得多。非即時繪製使得有限的計算能力得以放大以獲得高品質的畫面。複雜場景的單影格的繪製速度可能從幾秒到一個小時或者更多。繪製完成的影格存貯在硬碟,然後可能轉錄到其它媒介,例如電影膠捲或者光碟。然後這些影格以高影格率播放,通常為24,25,或30影格每秒,以達成運動的假象。

最後的作品經常會需要達到真實感圖形品質,要達到這個目的,很多不同和專門的繪製技術被發展出來。這些技術的範圍包括相當非真實感的線框模型繪製技術,到基於多邊形的繪製,到更高階的技術,例如:掃描線渲染光線跟蹤或者輻射著色

繪製軟體可以模擬例如鏡頭光暈景深或者運動模糊這樣的視覺效果。這些技術試圖模擬鏡頭和人眼的光學特性所造成的視覺現象。這些技術可以增加場景的真實程度,雖然該效果可能只是鏡頭的人造模擬現象。

為模擬其他自然發生的效應的各種技術被發展出來,例如光和不同形式的物質的相互作用。這些技術的例子包括粒子系統(它可以模擬雨,煙,或者火),體採樣(用於模擬霧,塵或者其它空間大氣效果),焦散效果(用於模擬光被不均勻折射性質的表面所聚焦的現象,例如游泳池底部的光的漣漪), 還有次表面散射(subsurface scattering)(用於模擬光在人的皮膚這樣的實體物件內部反射的現象)。

繪製過程計算上很昂貴,特別是所模擬的物理過程複雜且多樣時。電腦的處理能力逐年上升,使得真實感繪製的品質漸進的提高。生產電腦動畫的電影工作室可能用渲染農場(render farm)來進行及時的繪製。但是,硬體費用的下降使得在家庭電腦系統上產生少量的3D動畫完全成為可能。

繪製器經常包含在3D軟體包中,但是有一些繪製系統作為流行3D應用程式的外掛模組使用。這些繪製系統包括Final-RenderBrazil r/sV-RayMental RayPOV-Ray, 和Pixar Renderman

這些繪製程式的輸出經常用於最終電影場景的一小部分。很多材料的層次可以分別繪製,然後採用合成軟體整合到最終的畫面中。

反射和明暗模型[編輯]

現代3D電腦圖形嚴重的依賴於一個簡化的反射模型稱為Phong反射模型,它和Phong明暗圖是完全不同的主題,不能混淆二者。

在光的折射中,有一個重要的概念稱為折射率。在多數3D編程實作中,該值「index of refraction」(折射率)通常簡寫為「IOR」。

平直著色的一個例子,3D繪成的敦刻爾克級戰艦

3D電腦圖形中流行的反射繪製技術包括:

  • 平直著色(Flat shading):使用多邊形的法向量和位置以及光源的位置和強度對於物體的每一個多邊形給出一個明暗值的技術。
  • Gouraud著色:H。Gouraud於1971年發明,一個快速的基於頂點和光源的關聯的著色技術,用於模擬光滑著色的曲面。
  • 紋理對映:透過把影像(紋理)對映到多邊形上來模擬曲面的大量細節的技術。
  • Phong著色:由Bui Tuong Phong發明,用於模擬光滑著色曲面的鏡面反射高光效果
  • 凸凹紋理對映:由Jim Blinn發明,用法向擾動技術模擬帶褶皺的曲面。
  • Cel著色:用於模擬手繪動畫的觀感的一種技術。

3D圖形應用程式介面(API)[編輯]

3D圖形已經非常流行,特別是在電子遊戲中,這使得專門化的應用程式介面(API)被建立出來用於簡化電腦圖形產生的各個階段的處理。這些API對於電腦圖形硬體廠商也是極為重要的,因為他們提供給程式設計師一種使用硬體的抽象方式,而依然能夠利用這個那個顯示卡的特定硬體的長處。

這些3D電腦圖形的API頗為流行:

也有一些高層的3D場景圖API,他們提供在底層繪製API之上的附加功能。處於活躍的發展中的這類程式庫包括:

參看[編輯]