實體紋理

實體紋理

紋理技術是計算機圖形學的重要組成部分,它對於表現物體的色彩、質感有著關鍵性的作用。根據生成方法的不同可以把紋理分成表面紋理和實體紋理兩種。


技術介紹

紋理技術是 計算機圖形學的重要組成部分,它對於表現物體的色彩、質感有著關鍵性的作用。根據生成方法的不同可以把紋理分成 表面紋理實體紋理兩種。

表面紋理是通過紋理映射的方法生成的,從數學上講,它是一種從二維圖像到空間曲面的映射,即把帶有材質紋路特點的平面圖像“包裹”到三維物體表面上。紋理映射技術已經發展的很成熟,套用非誠廣泛,但是它存在幾個難以克服的缺點:一是紋理拼接問題,在邊界處難以處理;二是由於平面圖像的離散性,放縮時有馬賽克現象,需要單獨處理。

實體紋理的概念最早是由於Darwyn R Peachey 和Ken Pelin 提出的。它的思路是:定義一個三維紋理空間,在其中對每種紋理的 直接建模,空間任意曲面的紋理就可以通過計算它在紋理空間的顏色來得到,就像雕刻家一樣從紋理空間中雕刻出需要的任意形狀。為了增強真實性,還用噪聲方法對紋理空間進行了擾動,使得紋理更為自然。以木頭為例,木紋石一圈圈的年輪形成的。建模時使用一組顏色深淺相間的同心圓柱作為木紋的紋理空間。與表面紋理不同,實體紋理中的紋路不是從平面圖像中得到的。而是直接由算法生成的,因此也被稱為過程性紋理。

隨著實體紋理的技術的發展,新的模型函式越來多,技巧也越來越複雜,做出的物體的紋路和質感栩栩如生,幾乎使人難以相信是計算機畫出來的。實體紋理的原理雖然簡單,但要實現一個效果豐富、易於擴展和編程的實體紋理一般採用光線追蹤算法,現有的系統有的非常龐大,實現了許多實體紋理以外的許多複雜的功能;有的採用描述場景的腳本語言作為輸入,沒有採用所見即所得的互動方式,使用很不方便;有的系統雖然簡單,但功能相對弱小。

數據結構

紋理屬性

可以按照函式的類型分為下面四中屬性。

模型屬性:描述模型函式的類型和參數,由於函式的算法已經做到程式中去了,所以模型函式類型可以用一個標識符(ID)來表示它。

變換屬性:主要包括平移、方所、旋轉參數和擾動參數。此外,如果 還有其他自定義的對空間點的位置進行變換的函式,其參數也屬於變換屬性。注意,通常都要對點做一系列的連續的變換,並且這些變換是有序的,同樣,由於變換函式的算法已經做到程式中,變換類型時也可以用一個ID來描述。

顏色映射屬性:顏色映射函式的參數是不定長的。

材質光學屬性:真實材質對光的反應主要有三種:漫反射、鏡面反射、折射。上面的方法實際上只是得到了實體紋理的固有顏色,而最終的視覺效果是在環境和燈光等因素的綜合影響下得到的。因此還需要描述這些光學因素的參數。常見的光學參數有:環境光強度、漫反射亮度、高光曲反射係數、鏡面反射光、投射參數、漫反射、鏡面反射實際上是描述材質表面的光滑程度的,通過調整可以得到金屬、塑膠等效果。

結構組織

觀察基本紋理的屬性可以看到,除了材質光學屬性是固定長度以外,其他屬性都是變長的,因此在數據結構的組織上使用了鍊表,其中第一個欄位是一個標誌欄位,用於區別不同的紋理類型。目前有三種類型: 基本紋 、分層紋理和平均紋理

系統實現

這是一個面向電視台節目製作的三維軟體,主要為演播室製作有高度真實感的背景圖像。然後利用視頻卡進行視頻合成和輸出。未了達到廣播級的輸出質量,其渲染算法採用了基於紋理的鋼線追蹤算法,其中實體紋理就是按照以上所述的數據結構組成的。系統支持的模型有 木紋、大理石、花崗石、瑪瑙、斑點、磚塊、方格、六角 等;可以對紋理進行放縮、旋轉和平移變換。

由於採用了實體紋理做材質,用戶可以通過調整和組合各種參數得到新的紋理,可以製作的紋理幾乎是無限的。此外,由於實體紋理只存儲參數,與二維貼圖圖像相比,實體紋理庫的存儲的開銷極小,當然,由於系統採用的是光線追蹤算法,渲染速度比較慢,但由於視頻系統追求的是圖像質量和高度的真實感,渲染速度只是次要因素。從方面使用的角度,一個豐富的,易於擴充的材質庫對用戶更有吸引力。

相關詞條

熱門詞條

聯絡我們