專利名稱:處理圖像的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于處理一個圖像以便根據(jù)由三維模型化所生成的多個物體的布置來表現(xiàn)由來自一個光源的光線照射所產(chǎn)生的一個物體在另一個位于其后的物體上的陰影的一種方法和一種設(shè)備,用于存儲完成這類圖像處理的程序的一種記錄媒體,以及用于完成這類圖像處理的一種程序。
背景技術(shù):
最近以來,包括隱線處理、隱面去除、平滑附加陰影、紋理映射等在內(nèi)的不同計算機圖形(CG)處理技術(shù)已經(jīng)隨著硬件的不斷發(fā)展而飛速發(fā)展。
根據(jù)一般的CG處理過程,根據(jù)CAD的三維模型化而生成多個三維圖形(物體),同時將顏色和陰影加于所生成的物體上。因此,將包括鏡面反射、漫反射、折射、透光度等在內(nèi)的光學(xué)特性加于物體上,并且將表面模式加于物體上。此外,還考慮周圍環(huán)境,例如,反映窗戶和景色并且引入光線。
附加陰影的過程決定于與組成物體的多邊形垂直的線條方向和光線的觀察角度。有一種過程用于根據(jù)光源和多個物體的布置來表現(xiàn)一個物體在另一個位于其后的物體上產(chǎn)生的陰影。后一過程(而不是陰影附加過程)無法用例如光線跟蹤這類高費用的呈現(xiàn)方案以外的其他技術(shù)來完成。
如果希望例如實時呈現(xiàn)過程而不造成高費用,則以前習(xí)慣上使用投向簡單平面的透視投影或者例如圓形的簡單圖形的呈現(xiàn)過程來逼近這類陰影。
此外,如果光源例如一個火焰具有一定尺寸,要表現(xiàn)由光源產(chǎn)生的陰影就非常困難。
因此本發(fā)明的一個目的是提供一種方法和設(shè)備,用于處理一個圖像以便表現(xiàn)安排于復(fù)雜布置中的多個物體的陰影或者具有復(fù)雜形狀的物體的陰影,還提供一種用于存儲能夠簡單地表現(xiàn)這類陰影或多個陰影的程序的記錄媒體,以及一種用于表現(xiàn)這類陰影或多個陰影的程序。
本發(fā)明的另一個目的是提供一種方法和設(shè)備,用于處理一個圖像以便選擇性地表現(xiàn)物體的陰影,還提供一種用于存儲能夠選擇性地表現(xiàn)物體陰影的程序的記錄媒體,以及一種用于選擇性地表現(xiàn)物體陰影的程序。
本發(fā)明的又一個目的是提供一種方法和設(shè)備,用于處理一個圖像以便在表現(xiàn)物體的陰影時能夠容易地應(yīng)用不同效果例如模糊化,還提供一種用于存儲能夠在表現(xiàn)物體的陰影時能夠容易地應(yīng)用不同效果的程序的記錄媒體,以及一種在表現(xiàn)物體的陰影時能夠容易地應(yīng)用不同效果的程序。
本發(fā)明的還有一個目的是提供一種方法和設(shè)備,用于處理一個圖像以便能夠容易地在陰影的不同效果之間控制陰影模糊化從而容易地表現(xiàn)更為現(xiàn)實的陰影,還提供一種用于存儲能夠容易地表現(xiàn)更為現(xiàn)實的陰影的程序的記錄媒體,以及一種容易地表現(xiàn)更為現(xiàn)實的陰影的程序。
本發(fā)明的又有一個目的是提供一種方法和設(shè)備,用于處理一個圖像以便能夠容易地表現(xiàn)一個擴展光源例如火焰的投影圖像及由這類擴展光源產(chǎn)生的陰影,還提供一種能夠容易地表現(xiàn)一個擴展光源例如火焰的投影圖像及由這類擴展光源產(chǎn)生的陰影的程序的記錄媒體,以及一種用于容易地表現(xiàn)一個擴展光源例如火焰的投影圖像及由這類擴展光源產(chǎn)生的陰影的程序。
根據(jù)本發(fā)明的用于處理圖像的方法包括以下步驟根據(jù)由三維模型化所生成的多個物體的布置來建立至少一個虛平面,以及從光源的觀察角度看在比該物體離光源更遠的物體上表現(xiàn)投影于虛平面上的一個物體的陰影。
使用以上方法,有可能容易地表現(xiàn)安排于復(fù)雜布置中的多個物體的陰影或者具有復(fù)雜形狀的物體的陰影。
該方法還可以包括以下步驟為物體的光源處理屬性定義陰影表現(xiàn)屬性以便確定該陰影是否在物體上表現(xiàn),以及根據(jù)陰影表現(xiàn)屬性來選擇性地表現(xiàn)物體上的陰影。以此方式,可以選擇性地表現(xiàn)物體陰影。
具體地,該方法還包括以下步驟建立一個用作對應(yīng)于虛平面的紋理平面的陰影平面,呈現(xiàn)物體在陰影平面的虛平面上的投影所形成的陰影,以及通過紋理映射將在陰影平面上呈現(xiàn)的陰影映射至其他物體上。
通過紋理映射將陰影映射至其他物體上的步驟可以包括以下步驟根據(jù)其他物體的投影座標通過紋理映射至虛平面上而將陰影映射至其他物體上,或者相對于其他物體的多邊形中的每一個來進行映射。
該方法還可以包括以下步驟從光源的觀察角度來確定物體座標,連續(xù)地在離開光源的方向上確定物體在虛平面上的投影座標,以及每當(dāng)對這些物體中的一個完成紋理映射時根據(jù)投影座標來呈現(xiàn)由物體在陰影平面上形成的陰影。
該方法還可以包括以下步驟相對于這些物體的多邊形中的每一個確定物體座標和物體在虛平面上的投影座標,連續(xù)地在離開光源的方向上在呈現(xiàn)表格內(nèi)登記確定的座標,以及連續(xù)地從呈現(xiàn)表格中讀取登記的座標以便呈現(xiàn)陰影平面上的陰影。
最好至少根據(jù)離開光源的距離對在陰影平面上呈現(xiàn)的陰影實行低通濾波,從而至少根據(jù)離開光源的距離使陰影模糊。以此方式,能夠容易地將不同效果例如模糊化應(yīng)用于所表現(xiàn)的物體陰影。
該方法還可以包括以下步驟根據(jù)該呈現(xiàn)操作是在將陰影進行低通濾波之前實現(xiàn)的還是在將陰影進行低通濾波之后實現(xiàn)的,及根據(jù)準備處理的物體的光源座標而將在物體上表現(xiàn)的在生成陰影平面上呈現(xiàn)的陰影進行插補,從而控制陰影的模糊化。因此,能夠容易地控制模糊化以便容易地表現(xiàn)更為現(xiàn)實的陰影。
該方法還可以包括以下步驟準備用作陰影平面的一個參考陰影平面和一個生成陰影平面,以及每當(dāng)準備處理的物體自一個切換至另一個時,將生成陰影平面上呈現(xiàn)的陰影復(fù)制至參考陰影平面上,以及對于一個物體的多邊形中的每一個每當(dāng)參考陰影平面上的陰影通過紋理映射進行映射時,將多邊形的投影圖像呈現(xiàn)于虛平面上以便作為生成陰影平面上的新的組合陰影。
每當(dāng)生成陰影平面上呈現(xiàn)的陰影復(fù)制至參考陰影平面上時,可以對生成陰影平面呈現(xiàn)的陰影上實行低通濾波。以此方式,可以容易地將不同效果例如模糊化應(yīng)用于物體陰影上。
該方法還可以包括以下步驟除作為陰影平面的參考陰影平面和生成陰影平面之外,還準備一個背景陰影平面,它是從光源的觀察角度看一個對應(yīng)于位于準備處理物體之后的背景虛平面的紋理平面;在背景陰影平面上呈現(xiàn)一個通過將投影于虛平面上的陰影投影于背景虛平面上而形成的陰影;以及通過紋理映射將表現(xiàn)于準備處理物體上的陰影進行映射,同時根據(jù)按照參考陰影平面上呈現(xiàn)的陰影、在背景陰影平面上呈現(xiàn)的陰影和物體的光源座標而實現(xiàn)的呈現(xiàn)操作來對陰影進行插補。因此,能夠容易地控制模糊化以便容易地表現(xiàn)更為現(xiàn)實的陰影。
該方法還可以包括以下步驟建立一個擴展光源作為陰影平面的初始值,將擴展光源反射以及在物體上形成它的陰影。
根據(jù)本發(fā)明的用于處理圖像的設(shè)備包括用于根據(jù)由三維模型化所生成的多個物體的布置來建立至少一個虛平面的第一裝置,以及用于從光源的觀察角度看在比該物體離光源更遠的物體上表現(xiàn)投影于虛平面上的一個物體的陰影的第二裝置。
第一裝置可以包括用于定義陰影表現(xiàn)屬性以便確定該陰影是否在物體上表現(xiàn)為物體的光源處理屬性的裝置,以及其中第二裝置可以包括用于根據(jù)陰影表現(xiàn)屬性來選擇性地表現(xiàn)物體上的陰影的裝置。
第二裝置可能具有用于建立一個用作對應(yīng)于虛平面的紋理平面的陰影平面,在陰影平面上呈現(xiàn)通過投影于虛平面上而形成的物體陰影,以及通過紋理映射將在陰影平面上呈現(xiàn)的陰影映射至其他物體上的呈現(xiàn)裝置。
呈現(xiàn)裝置可以包括用于根據(jù)其他物體的投影座標通過紋理映射至虛平面上而將陰影映射至其他物體上,或者相對于其他物體的多邊形中的每一個來進行映射的裝置。
第二裝置可以包括用于從光源的觀察角度來確定物體座標,和連續(xù)地在離開光源的方向上確定物體在虛平面上的投影座標的座標計算裝置,及呈現(xiàn)裝置可能包括每當(dāng)對這些物體中的一個完成紋理映射時根據(jù)投影座標來呈現(xiàn)由物體在陰影平面上形成的陰影的裝置。
第二裝置可以包括相對于這些物體的多邊形中的每一個來確定物體座標和物體在虛平面上的投影座標,和連續(xù)地在離開光源的方向上在呈現(xiàn)表格內(nèi)登記確定的座標的呈現(xiàn)表格生成裝置,以及呈現(xiàn)裝置可以包括用于連續(xù)地從呈現(xiàn)表格中讀取登記的座標以便呈現(xiàn)陰影平面上的陰影的裝置。
呈現(xiàn)裝置可以包括用于至少根據(jù)離開光源的距離對在陰影平面上呈現(xiàn)的陰影實行低通濾波,從而至少根據(jù)離開光源的距離使陰影模糊的裝置。呈現(xiàn)裝置可以包括用于根據(jù)陰影是在將陰影進行低通濾波之前呈現(xiàn)的還是在將陰影進行低通濾波之后呈現(xiàn)的,及根據(jù)準備處理的物體的光源座標而將在物體上表現(xiàn)的在生成陰影平面上呈現(xiàn)的陰影進行插補,從而控制陰影的模糊化的裝置。
呈現(xiàn)裝置可以包括用于準備用作陰影平面的一個參考陰影平面和一個生成陰影平面,及每當(dāng)準備處理的物體自一個切換至另一個時,將生成陰影平面上呈現(xiàn)的陰影復(fù)制至參考陰影平面上,及每當(dāng)參考陰影平面上的陰影通過紋理映射相對于一個物體的多邊形中的每一個進行映射時,將多邊形的投影圖像呈現(xiàn)于虛平面上以便作為生成陰影平面上的新的組合陰影的裝置。
呈現(xiàn)裝置可以包括每當(dāng)生成陰影平面上呈現(xiàn)的陰影復(fù)制至參考陰影平面上時,用于對生成陰影平面呈現(xiàn)的陰影實行低通濾波的裝置。
呈現(xiàn)裝置可以包括用于除作為陰影平面的參考陰影平面和生成陰影平面之外,還準備一個背景陰影平面的裝置,該背景陰影平面是從光源的觀察角度看一個對應(yīng)于位于準備處理物體之后的背景虛平面的紋理平面,該裝置在背景陰影平面上呈現(xiàn)一個通過將投影于虛平面上的陰影投影于背景虛平面上而形成的陰影,以及通過紋理映射將表現(xiàn)于準備處理物體上的陰影進行映射,同時根據(jù)參考陰影平面上呈現(xiàn)的陰影、在背景陰影平面上呈現(xiàn)的陰影和物體的光源座標而實現(xiàn)的呈現(xiàn)操作來對陰影進行插補。
呈現(xiàn)裝置可以包括用于建立一個擴展光源作為陰影平面的初始值,將擴展光源反射以及在物體上形成它的陰影的裝置。
根據(jù)本發(fā)明的記錄媒體存儲一個程序,該程序包括以下步驟(a)根據(jù)由三維模型化所生成的多個物體的布置來建立至少一個虛平面,以及(b)從光源的觀察角度看在比該物體離光源更遠的物體上表現(xiàn)投影于虛平面上的一個物體的陰影。
具有所存儲程序的記錄媒體有可能容易地表現(xiàn)安排于復(fù)雜布置中的多個物體的陰影或者具有復(fù)雜形狀的物體的陰影。
步驟(a)可以包括為物體的光源處理屬性定義陰影表現(xiàn)屬性以便確定該陰影是否在物體上表現(xiàn)的步驟,以及步驟(b)可以包括根據(jù)陰影表現(xiàn)屬性來選擇性地表現(xiàn)物體上陰影的步驟。
步驟(b)可以包括建立一個用作對應(yīng)于虛平面的紋理平面的陰影平面,在陰影平面上呈現(xiàn)通過投影于虛平面上所形成的物體陰影,以及通過紋理映射將在陰影平面上呈現(xiàn)的陰影映射至其他物體上的步驟。
步驟(c)還可以包括根據(jù)其他物體在虛平面上的投影座標通過紋理映射將陰影映射至其他物體上,或者相對于其他物體的多邊形中的每一個來進行映射。
步驟(b)還可以包括以下步驟從光源的觀察角度看確定物體座標,以及連續(xù)地在離開光源的方向上確定物體在虛平面上的投影座標,以及步驟(c)還可以包括每當(dāng)對這些物體中的一個完成紋理映射時根據(jù)投影座標來呈現(xiàn)由物體在陰影平面上形成的陰影的步驟。
步驟(b)還可以包括以下步驟相對于這些物體的多邊形中的每一個確定物體座標和物體在虛平面上的投影座標,以及連續(xù)地在離開光源的方向上在呈現(xiàn)表格內(nèi)登記確定的座標,以及步驟(c)還可以包括連續(xù)地從呈現(xiàn)表格中讀取登記的座標以便呈現(xiàn)陰影平面上的陰影的步驟。
步驟(c)還可以包括至少根據(jù)離開光源的距離對在陰影平面上呈現(xiàn)的陰影實行低通濾波,從而至少根據(jù)離開光源的距離使陰影模糊的步驟。
步驟(c)還可以包括以下步驟根據(jù)陰影是在將陰影進行低通濾波之前呈現(xiàn)的還是在將陰影進行低通濾波之后呈現(xiàn)的,及根據(jù)準備處理的物體的光源座標而將在物體上表現(xiàn)的在生成陰影平面上呈現(xiàn)的陰影進行插補,從而控制陰影的模糊化的步驟。
步驟(c)還可以包括以下步驟準備用作陰影平面的一個參考陰影平面和一個生成陰影平面,以及每當(dāng)準備處理的物體自一個切換至另一個時,將生成陰影平面上呈現(xiàn)的陰影復(fù)制至參考陰影平面上,以及每當(dāng)參考陰影平面上的陰影通過紋理映射相對于一個物體的多邊形中的每一個進行映射時,將多邊形的投影圖像呈現(xiàn)于虛平面上以便作為生成陰影平面上新的組合陰影。
步驟(c)還可以包括每當(dāng)生成陰影平面上呈現(xiàn)的陰影復(fù)制至參考陰影平面上時,對在生成陰影平面呈現(xiàn)的陰影上實行低通濾波的步驟。
步驟(c)還可以包括以下步驟除作為陰影平面的參考陰影平面和生成陰影平面之外,還準備一個背景陰影平面,它是從光源的觀察角度看一個對應(yīng)于位于準備處理物體之后的背景虛平面的紋理平面;在背景陰影平面上呈現(xiàn)一個通過將投影于虛平面上的陰影投影于背景虛平面上而形成的陰影;以及通過紋理映射將表現(xiàn)于準備處理物體上的陰影進行映射,同時根據(jù)參考陰影平面上呈現(xiàn)的陰影、在背景陰影平面上呈現(xiàn)的陰影和物體的光源座標實現(xiàn)的呈現(xiàn)來對陰影進行插補。
步驟(c)還可以包括以下步驟建立一個擴展光源作為陰影平面的初始值,將擴展光源反射以及在物體上形成它的陰影。
根據(jù)本發(fā)明的程序包括以下步驟(a)根據(jù)由三維模型化所生成的多個物體的布置來建立至少一個虛平面,以及(b)從光源的觀察角度在比該物體離光源更遠的物體上來表現(xiàn)投影于虛平面上的一個物體的陰影。
當(dāng)執(zhí)行以上程序時,有可能容易地表現(xiàn)安排于復(fù)雜布置中的多個物體的陰影或者具有復(fù)雜形狀的物體的陰影。
結(jié)合其中通過闡述性例子顯示本發(fā)明優(yōu)選實施例的附圖而提供的以下說明將使本發(fā)明的以上和其他目的、特征和優(yōu)點更為明顯。
圖1是根據(jù)本發(fā)明的娛樂設(shè)備的框圖;圖2闡述根據(jù)本發(fā)明的垂落陰影過程;圖3是根據(jù)本發(fā)明的垂落陰影裝置的功能框圖;圖4顯示物體信息表格的細節(jié);
圖5顯示頂點數(shù)據(jù)文件的細節(jié);圖6顯示一個包的細節(jié);圖7是根據(jù)本發(fā)明第一實施例的垂落陰影過程中不同設(shè)置處理裝置的功能框圖;圖8是根據(jù)本發(fā)明第一實施例的垂落陰影過程中呈現(xiàn)表格生成裝置的功能框圖;圖9是根據(jù)本發(fā)明第一實施例的垂落陰影過程中呈現(xiàn)裝置的功能框圖;圖10顯示其中相對于點光源而實現(xiàn)的垂落陰影過程的有效區(qū)域;圖11闡述一個物體在虛平面上的透視轉(zhuǎn)換;圖12顯示根據(jù)本發(fā)明第一實施例的垂落陰影過程的概念性表示;圖13是根據(jù)本發(fā)明第一實施例的垂落陰影過程的順序的流程圖;圖14是根據(jù)本發(fā)明第一實施例的垂落陰影過程中不同設(shè)置處理裝置的操作順序的流程圖;圖15和16是根據(jù)本發(fā)明第一實施例的垂落陰影過程中呈現(xiàn)表格生成裝置的操作順序的流程圖;圖17是闡述將包插入呈現(xiàn)表格中的圖;圖18和19是根據(jù)本發(fā)明第一實施例的垂落陰影過程中呈現(xiàn)裝置的操作順序的流程圖;圖20闡述根據(jù)本發(fā)明第二實施例的垂落陰影過程中由分散光源在虛平面上形成本影區(qū)域和半影區(qū)域;圖21是根據(jù)本發(fā)明第二實施例的垂落陰影過程中,根據(jù)離開光源的距離對生成陰影平面進行低通濾波以便根據(jù)距離表現(xiàn)模糊程度(半影)的方式;圖22是根據(jù)本發(fā)明第二實施例的垂落陰影過程中,每當(dāng)處理一個物體時對生成陰影平面進行低通濾波以及在每個固定距離對生成陰影平面進行低通濾波的方式;圖23闡述根據(jù)本發(fā)明第三實施例的垂落陰影過程中的三線過程;圖24是根據(jù)本發(fā)明第三實施例的垂落陰影過程中不同設(shè)置處理裝置的功能框圖;圖25是根據(jù)本發(fā)明第三實施例的垂落陰影過程中呈現(xiàn)裝置的功能框圖;圖26是根據(jù)本發(fā)明第三實施例的垂落陰影過程中不同設(shè)置處理裝置的操作順序的流程圖;圖27和28是根據(jù)本發(fā)明第三實施例的垂落陰影過程中呈現(xiàn)裝置的操作順序的流程圖;圖29闡述根據(jù)本發(fā)明第三實施例的垂落陰影過程中其形狀和顏色沿著多邊形的深度方向逐漸變化的陰影的表現(xiàn);圖30闡述根據(jù)本發(fā)明第四實施例的垂落陰影過程中擴展光源例如火焰的投影陰影的表現(xiàn)和由擴展光源投射在物體上的陰影。
具體實施例方式
以下參照圖1至30描述其中將根據(jù)本發(fā)明的圖像處理方法、圖像處理設(shè)備、記錄媒體和程序應(yīng)用于完成三維CG處理的娛樂設(shè)備上的實施例。
如圖1中所示,娛樂設(shè)備10包括一個用于控制娛樂設(shè)備10的總操作的主CPU12,一個用于存儲不同程序和不同數(shù)據(jù)的主存儲器14,一個用于在主CPU12的控制下生成圖像數(shù)據(jù)和輸出所生成圖像數(shù)據(jù)至顯示單元(例如CRT)16的圖像處理器18,以及用于發(fā)送數(shù)據(jù)至外部設(shè)備和自其接收數(shù)據(jù)的輸入/輸出端口20。
主存儲器14、圖像處理器18和輸入/輸出端口20通過總線22連至主CPU12。連至輸入/輸出端口20的是例如一個用于將數(shù)據(jù)(鍵輸入數(shù)據(jù)、座標數(shù)據(jù)等)輸入至娛樂設(shè)備10中的輸入輸出設(shè)備24,及一個用于回放存儲不同程序和數(shù)據(jù)(與物體相關(guān)的數(shù)據(jù)、紋理數(shù)據(jù)等)的光盤例如CD-ROM的光盤驅(qū)動器26。
圖像處理器18包括一個呈現(xiàn)(rendering)引擎30、一個存儲器接口32、一個圖像存儲器34和一個顯示控制器36例如可編程CRT控制器。
呈現(xiàn)引擎30響應(yīng)于由主CPU12提供的呈現(xiàn)命令、通過存儲器接口32在圖像存儲器34中呈現(xiàn)圖像數(shù)據(jù)。
一條第一總線38連接于存儲器接口32與呈現(xiàn)引擎30之間,以及一條第二總線40連接于存儲器接口32與圖像存儲器34之間。第一和第二總線38、40各具有例如128位的總線寬度,用于允許呈現(xiàn)引擎30在圖像存儲器34內(nèi)快速地呈現(xiàn)圖像數(shù)據(jù)。
呈現(xiàn)引擎30能夠在實時的基礎(chǔ)上多次呈現(xiàn)按照NTSC或PAL的320×240象素的圖像數(shù)據(jù)或者640×480象素的圖像數(shù)據(jù),其范圍為每1/60至1/30秒內(nèi)大于十至數(shù)十。
圖像存儲器34具有統(tǒng)一的存儲器結(jié)構(gòu),能夠在一個區(qū)域內(nèi)規(guī)定一個紋理區(qū)域34a和一個呈現(xiàn)區(qū)域34b(見圖3)。
顯示控制器36通過存儲器接口32將由光盤驅(qū)動器26讀取的紋理數(shù)據(jù)和在主存儲器14內(nèi)生成的紋理數(shù)據(jù)寫入圖像存儲器34的紋理區(qū)域,和通過存儲器接口32讀取在主存儲器14的呈現(xiàn)區(qū)域內(nèi)呈現(xiàn)的圖像數(shù)據(jù),以及將圖像數(shù)據(jù)輸出至顯示單元16以便在其顯示屏上顯示。
娛樂設(shè)備10的典型特征的功能,即將陰影垂落于物體上的過程(今后稱為“垂落陰影過程”)的功能將在下面詳細地加以描述。
根據(jù)垂落陰影過程,如圖2中所示,根據(jù)由三維模型化所生成的多個物體Ob1、Ob2的布置來建立至少一個虛平面50,以及把由光源52將物體Ob1投影至虛平面50上的投影圖像54表現(xiàn)為在比物體Ob1離光源52更遠的物體Ob2上的陰影56。
用于完成垂落陰影過程的程序即垂落陰影裝置100(見圖3)自被光盤驅(qū)動器26所重放的CD-ROM中下載至娛樂設(shè)備10的主存儲器14內(nèi)。然后在娛樂設(shè)備10上運行用于完成垂落陰影過程的下載的程序。
下面參照圖3至9描述垂落陰影裝置100。如圖3中所示,垂落陰影裝置100具有一個不同設(shè)置處理裝置102、一個呈現(xiàn)表格生成裝置104、一個呈現(xiàn)裝置106和一個圖像顯示裝置108。
不同設(shè)置處理裝置102生成一個物體信息表格110,為物體Ob1、Ob2、…、屏幕和光源52實行布置設(shè)置,以及根據(jù)物體Ob1、Ob2、…的布置建立至少一個虛平面50。
如圖4中所示,物體信息表格110將與所生成物體的數(shù)量同樣多的記錄進行登記。每個記錄包含組成相應(yīng)的物體的多邊形的頂點數(shù)據(jù)(物體座標)的數(shù)據(jù)文件(頂點數(shù)據(jù)文件)的初始地址,多邊形的數(shù)量M,所用紋理表格的初始地址,陰影屬性信息(例如Gouraud陰影),拓撲信息(例如網(wǎng)格),一個光源處理屬性,以及物體布置信息。
光源處理屬性確定是否顯示多邊形陰影的信息(準備顯示/不準備顯示=1/0)。
呈現(xiàn)表格生成裝置104根據(jù)物體的頂點數(shù)據(jù)文件112和光源52的布置等確定一個屏幕座標系統(tǒng),一個光源座標系統(tǒng)和各物體的各多邊形中的每一個在虛平面50的投影座標(多邊形陰影的座標),在包114中登記確定的座標系統(tǒng)和投影座標,和在離開光源52的方向內(nèi)實現(xiàn)包114的Z分類,以及在呈現(xiàn)表格116中登記包114。
如圖5中所示,頂點數(shù)據(jù)文件112包括與所生成物體的數(shù)量同樣多的文件。每個文件在每個記錄中登記物體的多邊形的物體座標PPij0=(Xij0,Yij0,Zij0),PPij1=(Xij1,Yij1,Zij1),PPij2=(Xij2,Yij2,Zij2)。
如圖6中所示,包114中的每一個在其中存儲著多邊形所屬物體的數(shù)量(物體號)、當(dāng)包114登記于呈現(xiàn)表格116中時用作指針的一個Z分類指針、多邊形的屏幕座標SPij0=(Xsij0,Ysij0,Zsij0),SPij1=(Xsij1,Ysij1,Zsij1),SPij2=(Xsij2,Ysij2,Zsij2)、多邊形的光源座標UPij0=(Xuij0,Yuij0,Zuij0),UPij1=(Xuij1,Yuij1,Zuij1)、UPij2=(Xuij2,Yuij2,Zuij2)以及多邊形在虛平面50上的投影座標UVij0=(Uij0,Vij0),UVij1=(Uij1,Vij1),UVij2=(Uij2,Vij2)。
呈現(xiàn)裝置106連續(xù)地自呈現(xiàn)表格116中提取包114,并且根據(jù)在包114內(nèi)登記的多邊形的不同數(shù)據(jù)來呈現(xiàn)多邊形和對多邊形的多邊形陰影完成紋理映射。
圖像顯示裝置108讀取圖像存儲器34的呈現(xiàn)區(qū)域34b中存儲的圖像數(shù)據(jù)及輸出讀取的圖像數(shù)據(jù)至顯示控制器36。
如圖7中所示,不同設(shè)置處理裝置102具有一個用于根據(jù)通過輸入/輸出設(shè)備24輸入的數(shù)據(jù)生成一個物體信息表格110的表格生成裝置120,一個用于在物體信息表格110中登記相對于通過輸入/輸出設(shè)備24輸入的關(guān)于物體布置的信息的布置信息登記裝置122,一個根據(jù)屏幕布置、光源52和虛平面50的信息用于確定屏幕、光源52和虛平面50的通用座標以并且將確定的通用座標登記入預(yù)定的陣列變量區(qū)域Z1-Z4內(nèi)的座標設(shè)置裝置124,以及一個根據(jù)虛平面50的通用座標用于確定虛平面50的光源座標并且在預(yù)定的陣列變量區(qū)域Z5內(nèi)登記Z座標的光源座標計算裝置126。
如圖8中所示,呈現(xiàn)表格生成裝置104包括一個用于將呈現(xiàn)表格116初始化的呈現(xiàn)表格初始化裝置130,一個用于自物體信息表格110中讀取信息的記錄的表格記錄讀取裝置132,一個用于自相應(yīng)的頂點數(shù)據(jù)文件112中讀取信息的記錄的文件記錄讀取裝置134,一個用于在包114中存儲數(shù)據(jù)的數(shù)據(jù)存儲裝置136,一個用于計算登記于頂點數(shù)據(jù)文件112中的多邊形的屏幕座標、光源座標和投影于虛平面50上的投影座標的座標計算裝置138,一個根據(jù)多邊形的光源座標用于確定相對于呈現(xiàn)表格116的插入指針(Z分類指針)的指針確定裝置140,一個用于將包114插入至對應(yīng)于該指針的記錄中的包插入裝置142,以及一個用于判斷準備處理物體的多邊形的處理是否都已終結(jié)的終結(jié)判斷裝置144。
如圖9中所示,呈現(xiàn)裝置106布置為使用對應(yīng)于虛平面50的一個參考陰影平面150和一個生成陰影平面152。陰影平面150、152在邏輯上賦予圖像存儲器34的紋理區(qū)域34a。
呈現(xiàn)裝置106發(fā)出一條用于操作包括于呈現(xiàn)引擎30中的紋理表現(xiàn)處理裝置154的命令。紋理表現(xiàn)處理裝置154包括一個紋理映射裝置156和一個附加陰影裝置158。
呈現(xiàn)裝置106具有一個用于將自初始化數(shù)據(jù)文件178讀取的初始數(shù)據(jù)Di寫入?yún)⒖缄幱捌矫?50和生成陰影平面152以便將參考陰影平面150和生成陰影平面152初始化的陰影平面初始化裝置160,一個用于連續(xù)地自呈現(xiàn)表格116中讀取包114的包讀取裝置162,一個用于自物體信息表格110中讀取信息的記錄的表格記錄讀取裝置164,一個用于判斷準備處理物體是否已經(jīng)從一個切換至另一個的物體判斷裝置166,一個用于在參考陰影平面150和生成陰影平面152中呈現(xiàn)數(shù)據(jù)的陰影平面呈現(xiàn)裝置168,一個根據(jù)登記于物體信息表格110中的光源處理屬性用于判斷是否準備顯示多邊形陰影的多邊形陰影顯示判斷裝置170,一個用于在呈現(xiàn)區(qū)域34b中呈現(xiàn)生成的多邊形數(shù)據(jù)(紋理表現(xiàn)和垂落陰影之后的多邊形數(shù)據(jù))但同時根據(jù)例如Z緩存操作執(zhí)行隱面去除操作的隱面去除處理裝置172,以及一個用于判斷對登記于呈現(xiàn)表格116中的包114的處理是否都已終結(jié)的終結(jié)判斷裝置174。
下面將描述由垂落陰影裝置100執(zhí)行的根據(jù)本發(fā)明第一實施例的垂落陰影過程。在描述垂落陰影裝置100之前,將首先參照圖2、10至12描述垂落陰影裝置100的操作概念。
圖2顯示使用虛平面50的垂落陰影過程的概念。在圖2中,虛平面50位于造成陰影的物體Ob1與在其上形成陰影的物體Ob2之間。虛平面50的位置決定于由垂落陰影過程所使用的的尺寸和空間范圍。
在第一實施例中,從光源的觀察角度看根據(jù)透視轉(zhuǎn)換,物體Ob1投射至虛平面50上,并且作為多邊形陰影寫在陰影平面(參考陰影平面150和生成陰影平面152)上,這是對應(yīng)于虛平面50的紋理平面。在用于將陰影垂落在物體Ob2上的垂落陰影過程中,從用作紋理模式的參考陰影平面150對物體Ob2的各多邊形中的每一個完成紋理映射。
多邊形的各頂點中的每一個的紋理座標可以從光源的觀察角度看根據(jù)透視轉(zhuǎn)換來確定。下面將參照圖11描述透視轉(zhuǎn)換的公式。
在圖11中,如果光源52是點光源,則物體Ob1的頂點中的每一個頂點轉(zhuǎn)換至虛平面50的透視轉(zhuǎn)換表示如下Xa=(xa*ScrZ)/zaYa=(ya*ScrZ)/za以及根據(jù)透視轉(zhuǎn)換類似地將物體Ob2的頂點中的每一個的陰影的紋理座標(Ub,Vb)表示如下Ub=(xb*ScrZ)/zbVb=(yb*ScrZ)/zb如果光源52是平行光源,則(Xa,Ya)=(xa,ya)
(Xb,Yb)=(xb,yb)圖12顯示根據(jù)本發(fā)明第一實施例的垂落陰影過程的概念性表示。根據(jù)圖12中所示的應(yīng)用于每個物體的垂落陰影過程,一個在陰影平面(參考陰影平面150)上呈現(xiàn)的多邊形陰影被紋理映射至一個物體并且呈現(xiàn)于屏幕176上(過程1),以及今后物體上形成的多邊形陰影在陰影平面150上呈現(xiàn)(過程2)。以上垂落陰影過程是從光源的觀察角度看由Z分類實行的,如箭頭A所標示。
下面參照圖13描述根據(jù)本發(fā)明第一實施例的垂落陰影過程的順序。
在步驟S1中,不同設(shè)置處理裝置102生成一個物體信息表格110,為物體、屏幕176和光源52設(shè)置布置,以及根據(jù)多個物體的布置來設(shè)置至少一個虛平面50(不同設(shè)置處理)。
然后在步驟S2中,呈現(xiàn)表格生成裝置104根據(jù)各物體的頂點數(shù)據(jù)文件112和光源52的布置等來確定各物體的多邊形中的每一個的虛平面上的屏幕座標系統(tǒng)、光源座標系統(tǒng)和投影座標(多邊形陰影的座標),在包114中登記確定的座標系統(tǒng)和投影座標,以及連續(xù)地在離開光源52的方向內(nèi)將包114登記于呈現(xiàn)表格116中(呈現(xiàn)表格生成處理)。
此后,在步驟S3中,呈現(xiàn)裝置106連續(xù)地自呈現(xiàn)表格116中提取包114,以及根據(jù)在包114中登記的多邊形的不同數(shù)據(jù)來呈現(xiàn)多邊形和在多邊形的多邊形陰影上完成紋理映射(呈現(xiàn)處理)。
然后,在步驟S4中,圖像顯示裝置108讀取存于圖像存儲器34的呈現(xiàn)區(qū)域34b中的圖像數(shù)據(jù)并且通過顯示控制器36輸出所讀圖像數(shù)據(jù)至顯示單元16。以此方式,如圖2中所示,由光源52產(chǎn)生的物體Ob1的陰影形成于相對于光源52而言位于物體Ob1之后的物體Ob2上。
在步驟S4之后,根據(jù)第一實施例的垂落陰影過程結(jié)束。
下面參照圖14至19描述不同設(shè)置處理裝置102、呈現(xiàn)表格生成裝置104和呈現(xiàn)裝置106的操作順序。
首先,下面參照圖14描述不同設(shè)置處理裝置102的操作順序。
在圖14中所示的步驟S101中,不同設(shè)置處理裝置102的表格生成裝置120根據(jù)通過輸入/輸出設(shè)備24輸入的數(shù)據(jù)生成一個物體信息表格110。
如圖4中所示,登記于物體信息表格110內(nèi)的信息的項目在其他項目中包括陰影屬性信息(例如Gouraud附加陰影)、拓撲信息(例如網(wǎng)格)和光源處理屬性。光源處理屬性確定多邊形陰影是否顯示的信息(準備顯示/不準備顯示=1/0)。
當(dāng)根據(jù)CAD生成一個物體時,在物體信息表格110內(nèi)登記頂點數(shù)據(jù)文件112的初始地址、多邊形的數(shù)量、所用紋理表格的初始地址等。
在步驟S102中,布置信息登記裝置122將通過輸入/輸出設(shè)備24輸入在物體信息表格110中的物體布置信息進行登記。
在步驟S103中,座標設(shè)置裝置124根據(jù)屏幕176的布置信息來計算屏幕176的通用座標,并且在預(yù)定的陣列變量區(qū)域Z1內(nèi)存儲計算的通用座標。
在步驟S104中,座標設(shè)置裝置124根據(jù)光源52的布置信息來計算光源52的通用座標,并且在預(yù)定的陣列變量區(qū)域Z2內(nèi)存儲計算的通用座標。座標設(shè)置裝置124還在預(yù)定的陣列變量區(qū)域Z3內(nèi)存儲通過輸入/輸出設(shè)備24輸入的光源52類型。
在步驟S105中,座標設(shè)置裝置124根據(jù)存于陣列變量區(qū)域Z2內(nèi)的光源位置和登記于物體信息表格110內(nèi)的物體的布置信息來設(shè)置虛平面50的布置,計算虛平面50的通用座標,以及在預(yù)定的陣列變量區(qū)域Z4內(nèi)存儲計算的通用座標。
在步驟S106中,光源座標計算裝置126根據(jù)存于陣列變量區(qū)域Z4內(nèi)的虛平面50的通用座標和光源52的位置來計算虛平面50的光源座標,以及在預(yù)定的陣列變量區(qū)域Z5內(nèi)存儲計算的通用座標的Z座標。
在步驟S105之后,不同設(shè)置處理裝置102的操作順序結(jié)束。
下面參照圖15和16描述呈現(xiàn)表格生成裝置104的操作順序。
在圖15中所示的步驟S201中,呈現(xiàn)表格初始化裝置130將呈現(xiàn)表格116初始化。
然后,在步驟S202中,呈現(xiàn)表格生成裝置104在用于搜索物體的索引寄存器i中存儲初始值“0”,從而將索引寄存器i初始化。
在步驟S203中,表格記錄讀取裝置132自物體信息表格110內(nèi)讀取由索引寄存器i所標示的記錄(i記錄)。
在步驟S204中,呈現(xiàn)表格生成裝置104在一個用于搜索多邊形的索引寄存器j中存入初始值“0”,從而將索引寄存器j初始化。
在步驟S205中,數(shù)據(jù)存儲裝置136在包114中存儲一個初始值,從而將包114初始化。
在步驟S206中,數(shù)據(jù)存儲裝置136在包114中存儲一個物體號i(索引寄存器i的值)。
在步驟S207中,文件記錄讀取裝置134自相應(yīng)的頂點數(shù)據(jù)文件112中讀取由索引寄存器j所標示的記錄(j記錄),即讀取第j個多邊形的頂點數(shù)據(jù)。相應(yīng)的頂點數(shù)據(jù)文件112是一個對應(yīng)于登記于自物體信息表格110中讀取的i記錄內(nèi)的頂點數(shù)據(jù)文件112初始地址的頂點數(shù)據(jù)文件。
在步驟S208中,座標計算裝置138根據(jù)登記于物體信息表格110的i記錄中的物體的布置信息、登記于陣列變量區(qū)域Z1內(nèi)的屏幕176的通用座標和第j個多邊形的頂點數(shù)據(jù)來確定第j個多邊形的頂點的屏幕座標SPij0=(Xsij0,Ysij0,Zsij0),SPij1=(Xsij1,Ysij1,Zsij1),SPij2=(Xsij2,Ysij2,Zsij2),以及數(shù)據(jù)存儲裝置136在包114中存儲確定的屏幕座標。
在步驟S209中,座標計算裝置138根據(jù)物體的布置信息、登記于陣列變量區(qū)域Z2內(nèi)的光源52的通用座標和第j個多邊形的頂點數(shù)據(jù)來確定第j個多邊形的頂點的光源座標UPij0=(Xuij0,Yuij0,Zuij0),UPij1=(Xuij1,Yuij1,Zuij1),UPij2=(Xuij2,Yuij2,Zuij2),以及數(shù)據(jù)存儲裝置136在包114中存儲確定的光源座標。
在步驟S210中,座標計算裝置138根據(jù)物體的布置信息、登記于陣列變量區(qū)域Z5內(nèi)的虛平面50的Z座標(光源座標)和第j個多邊形的頂點數(shù)據(jù)來確定第j個多邊形的頂點的投影座標UVij0=(Uij0,Vij0),UVij1=(Uij1,Vij1),UVij2=(Uij2,Vij2),以及數(shù)據(jù)存儲裝置136在包114中存儲確定的投影座標。
在步驟S211中,指針確定裝置140從在步驟S209中已經(jīng)確定的頂點的光源座標UPij0=(Xuij0,Yuij0,Zuij0),UPij1=(Xuij1,Yuij1,Zuij1),UPij2=(Xuij2,Yuij2,Zuij2)的Z座標中選擇最靠近光源的Z座標,并且使用選擇的Z座標作為第j個多邊形的Z分類指針。
在圖16中所示的步驟S212中,包插入裝置142搜索呈現(xiàn)表格116,并且將現(xiàn)有包114插入至呈現(xiàn)表格116中以便在其中按照Z座標的增加模式將包排列(Z分類指針),如圖17中所示。
在步驟S213中,終結(jié)判斷裝置144將索引寄存器j的值增量“+1”。在步驟S214中,終結(jié)判斷裝置144通過判斷索引寄存器j的值是否等于或大于登記于物體信息表格110的i記錄中的多邊形的數(shù)量M而判斷組成第i個物體的所有多邊形的處理是否都已終結(jié)。
如果組成第i個物體的所有多邊形的處理尚未終結(jié),則控制過程回至圖15中所示步驟S205以便計算下一個多邊形的不同座標,將計算的座標存入包114內(nèi),以及將包114插入呈現(xiàn)表格116中。
如果在步驟S214中組成第i個物體的所有多邊形的處理都已終結(jié),則控制過程進至步驟S215,其中終結(jié)判斷裝置144將索引寄存器i的值增量“+1”。在步驟S216中,終結(jié)判斷裝置144通過判斷索引寄存器i的值是否等于或大于登記于物體信息表格110中的記錄的數(shù)量N而判斷所有物體的處理是否都已終結(jié)。
如果所有物體的處理尚未結(jié)束,則控制過程回至圖15中所示步驟S203以便計算下一個多邊形的所有多邊形的不同座標,將計算的座標存入相應(yīng)的包114中,以及根據(jù)Z分類指針的增加模式將包114插入呈現(xiàn)表格116中。
如果在步驟S216中所有物體的處理都已終結(jié),則呈現(xiàn)表格生成裝置104的操作順序結(jié)束。
下面參照圖18和19描述呈現(xiàn)裝置106的操作順序。
在圖18中所示的步驟S301中,陰影平面初始化裝置160自初始化數(shù)據(jù)文件178中讀取初始數(shù)據(jù)Di,并且在所用陰影平面(參考陰影平面150和生成陰影平面152)上呈現(xiàn)初始化數(shù)據(jù)Di以便將參考陰影平面150和生成陰影平面152初始化。
在步驟S302中,呈現(xiàn)裝置106將初始值“FF”存于用于保存物體號i的寄存器R中,以及將初始值“0”存于用于搜索包114的索引寄存器k中,從而將寄存器R和索引寄存器k初始化。
在步驟S303中,包讀取裝置162自呈現(xiàn)表格116中的由索引寄存器k標示的位置處讀取包114(第k個)。在步驟S304中,包讀取裝置162自讀取的包中讀取物體號i。
在步驟S305中,物體判斷裝置166通過判斷索引寄存器i的值是否與寄存器R的值相同而判斷現(xiàn)有物體號i是否與先前物體號相同。
如果現(xiàn)有物體號i與先前物體號不同,則控制過程進至步驟S306,其中表格記錄讀取裝置164自物體信息表格110中讀取i記錄。
在步驟S307中,陰影平面呈現(xiàn)裝置168把在生成陰影平面152中呈現(xiàn)的多邊形陰影的紋理數(shù)據(jù)(或初始數(shù)據(jù)Di)復(fù)制至參考陰影平面150上。
在步驟S308中,物體判斷裝置166將物體號i存入寄存器R中。
在步驟S308中的處理完成后,或者如果在步驟S305中現(xiàn)有物體號i與先前物體號相同,則控制過程進至圖19中所示的步驟S309,其中紋理表現(xiàn)處理裝置154完成正常的紋理表現(xiàn)過程。具體地,紋理表現(xiàn)處理裝置154根據(jù)現(xiàn)有多邊形的屏幕座標和紋理表格180的初始地址來完成紋理表現(xiàn)過程,例如附加陰影、紋理映射等。
在步驟S310中,多邊形陰影判斷裝置170根據(jù)登記于物體信息表格110的相應(yīng)記錄中的光源處理屬性來判斷是否能夠在物體上顯示多邊形陰影。
如果能夠顯示多邊形陰影,則控制過程進至步驟S311,其中紋理表現(xiàn)處理裝置154的紋理映射裝置156參照準備處理的多邊形在虛平面50上的投影座標UVij0=(Uij0,Vij0),UVij1=(Uij1,Vij1),UVij2=(Uij2,Vij2),通過紋理映射將呈現(xiàn)于參考陰影平面150中的多邊形陰影映射到準備處理的多邊形。如果只在參考陰影平面150中呈現(xiàn)初始數(shù)據(jù),則通過紋理映射將初始數(shù)據(jù)Di進行映射。
在步驟S311中的處理過程結(jié)束后,或者如果在步驟S310中無法顯示多邊形陰影,則控制過程進至步驟S312,其中陰影平面呈現(xiàn)裝置168根據(jù)現(xiàn)有多邊形在虛平面50上的投影座標用于在生成陰影平面152上呈現(xiàn)現(xiàn)有多邊形的多邊形陰影與先前多邊形陰影的組合,并且將該組合的陰影涂以黑色(R,G,B,α)=(0,0,0,100%)。
在步驟S313中,隱面去除處理裝置172將現(xiàn)有多邊形的數(shù)據(jù)寫入呈現(xiàn)區(qū)域34b中,并且根據(jù)現(xiàn)有多邊形的屏幕座標按照Z緩存操作執(zhí)行隱面去除操作。
在步驟S314中,呈現(xiàn)裝置106將索引寄存器k的值增量“+1”。然后在步驟S315中,終結(jié)判斷裝置174判斷對所有包114的處理是否都已結(jié)束。如果對所有包114的處理尚未結(jié)束,則控制過程回至步驟S303以便對登記于下一個包114中的多邊形完成正常紋理表現(xiàn)過程,多邊形陰影的紋理映射,以及實行隱面去除操作。
如果在步驟S315中所有登記于呈現(xiàn)表格116中的包114都已處理完畢,則呈現(xiàn)裝置106的操作順序結(jié)束。
將步驟S303-S313中的處理過程重復(fù)以便提供以下優(yōu)點相對于其位置最靠近光源52的物體Ob1的多邊形而言,只將初始數(shù)據(jù)Di寫在參考陰影平面150上。如果初始數(shù)據(jù)Di表示透明,則不在物體Ob1的多邊形上呈現(xiàn)多邊形陰影。
在作為離光源52的第二個物體的物體Ob2的各多邊形上,呈現(xiàn)離光源的第一物體Ob1的所有多邊形陰影中的出現(xiàn)在物體Ob1的多邊形的投影座標所表示的范圍內(nèi)的多邊形陰影。當(dāng)完成對第二物體Ob2的處理操作時,第一物體Ob1的多邊形陰影呈現(xiàn)于第二物體Ob2上。
類似地,在作為離光源52的第三個物體的物體Ob3上,呈現(xiàn)第一物體Ob1的多邊形陰影和第二物體Ob2的多邊形陰影的組合。
在根據(jù)第一實施例的垂落陰影過程中,如上所述,根據(jù)由三維模型化所生成的多個物體的布置來建立一個虛平面50,并且從光源的觀察角度看照向虛平面上的投影所形成的各物體中的一個的多邊形陰影被表現(xiàn)為在比該物體離光源52更遠的另一個物體上的陰影。
具體地,設(shè)置一個參考陰影平面150和生成陰影平面152,這是對應(yīng)于虛平面50的紋理平面,由于投影至虛平面50上而形成的物體陰影通過生成陰影平面152而呈現(xiàn)于參考陰影平面150上,以及通過紋理映射將參考陰影平面150上呈現(xiàn)的陰影映射至下一個物體上。
以此方式,容易表現(xiàn)安排于復(fù)雜布置中的多個物體的陰影或者具有復(fù)雜形狀的物體的陰影。
在此實施例中,由于關(guān)于是否在一個物體上表現(xiàn)多邊形陰影的陰影表現(xiàn)屬性是在物體信息表格110的每個記錄中的光源處理屬性中定義的,因此可以選擇性地完成在一個物體上表現(xiàn)多邊形陰影的過程。因此,可以使游戲中一個主要角色的面部表情例如不被另一個物體的陰影所掩蓋而表現(xiàn)出來。
下面參照圖9、20至22描述根據(jù)本發(fā)明第二實施例的垂落陰影過程。
根據(jù)第二實施例的垂落陰影過程主要與根據(jù)第一實施例的垂落陰影過程相同,不同之處在于垂落陰影過程中的呈現(xiàn)裝置具有一個根據(jù)離開光源52的距離用于使多邊形陰影變得模糊的雙線性處理裝置190,如圖9中的括弧中所標示。
如圖20中所示,如果光源52不是一個點光源而是一個擴展光源,則當(dāng)虛平面50位于靠近物體Ob1的位置上時,物體Ob1在虛平面50上造成一個本影Ss。
當(dāng)虛平面50位于遠離物體Ob1的位置上時,物體Ob1在虛平面50上造成本影Ss和還有半影Sd,后者是圍繞本影Ss的模糊陰影。隨著光源52離開虛平面50的距離的增加,半影Sd的模糊程度也增加。
根據(jù)第二實施例的垂落陰影過程安排為實現(xiàn)半影Sd的特性。
具體地,如圖18中所示,當(dāng)在步驟S307中陰影平面呈現(xiàn)裝置168已經(jīng)將呈現(xiàn)于生成陰影平面152中的多邊形陰影的紋理數(shù)據(jù)復(fù)制至參考陰影平面50上之后,雙線性處理裝置190實現(xiàn)對圖18中的括弧中所標示的步驟S320中在生成陰影平面152中呈現(xiàn)的多邊形陰影的紋理數(shù)據(jù)進行低通濾波。
圖21顯示根據(jù)離開光源52的距離對生成陰影平面中呈現(xiàn)的多邊形陰影的紋理數(shù)據(jù)進行低通濾波以便根據(jù)距離表現(xiàn)模糊程度(半影)的方式。圖21標示著在離光源52近的距離上投影陰影更清楚,而在遠離光源52的距離上則更模糊。根據(jù)第二實施例,如果在圖5中的步驟S305中現(xiàn)有物體號i與先前物體號不同,則在步驟S320中對呈現(xiàn)于生成陰影平面152中的多邊形陰影的紋理數(shù)據(jù)實行低通濾波。
以此方式,如圖22中所示,當(dāng)在階段P1中處理物體Ob1時,在生成陰影平面152上呈現(xiàn)物體Ob1的多邊形陰影(只是本影),而當(dāng)在階段P3中處理物體Ob2時,在生成陰影平面152上呈現(xiàn)物體Ob1的多邊形陰影(本影和半影)和物體Ob2的多邊形陰影(只是本影)。
再離開光源52遠些,每當(dāng)改變物體時,呈現(xiàn)于生成陰影平面152上的多邊形陰影逐漸地隨著離開光源52的距離的增加而更為模糊。
在監(jiān)視光源座標時,每當(dāng)?shù)竭_一定距離時,呈現(xiàn)于生成陰影平面162上的多邊形陰影可能經(jīng)過低通濾波。在圖22中,在階段或位置P1、P2、P3處呈現(xiàn)于生成陰影平面152上的多邊形陰影被進行低通濾波。
在根據(jù)第二實施例的垂落陰影過程中,由于呈現(xiàn)于生成陰影平面152上的多邊形陰影根據(jù)離開光源的距離而被進行低通濾波,多邊形陰影根據(jù)離開光源的距離而變得模糊,因此以現(xiàn)實的方式加以表現(xiàn)。
下面參照圖23至29描述根據(jù)本發(fā)明第三實施例的垂落陰影過程。
在根據(jù)第三實施例的垂落陰影過程中,當(dāng)呈現(xiàn)于生成陰影平面152上的多邊形陰影通過參考陰影平面150表現(xiàn)于物體上時,根據(jù)該呈現(xiàn)操作(狹義的)是在將陰影進行低通濾波之前實行的還是在將陰影進行低通濾波之后實行的,及根據(jù)準備處理的物體的光源座標而將它進行插補,從而控制陰影的模糊化。
如圖23中所示,使用兩個陰影平面呈現(xiàn)多邊形陰影,即參考陰影平面150和背景陰影平面192。
參考陰影平面150和背景陰影平面192是在其上在不同時候?qū)Χ噙呅侮幱斑M行低通濾波的陰影平面。多邊形陰影通過三線性紋理映射過程進行呈現(xiàn),該過程根據(jù)光源座標的Z座標在兩個陰影平面150、192之間實現(xiàn)插補。其結(jié)果是,可以根據(jù)自光源52至物體的距離在多邊形內(nèi)控制陰影的模糊程度以便更為近似地實現(xiàn)陰影。
下面描述用于執(zhí)行根據(jù)第三實施例的垂落陰影過程的布置和垂落陰影過程的操作。
根據(jù)第三實施例的垂落陰影過程主要與根據(jù)第一實施例的垂落陰影過程相同,不同之處在于不同設(shè)置處理裝置102和呈現(xiàn)裝置106具有部分的不同的功能。
具體地,如圖24中所示,不同設(shè)置處理裝置102具有表格生成裝置120、布置信息登記裝置122、座標設(shè)置裝置124和光源座標計算裝置126,它們具有與以前描述的裝置不同的功能。
光源座標計算裝置126根據(jù)虛平面50的通用座標確定虛平面50的光源座標,以及在預(yù)定的陣列變量區(qū)域Z5內(nèi)登記Z座標。光源座標計算裝置126還根據(jù)各物體的布置信息來確定實際上位于相應(yīng)的物體之后的第1個至第n個背景虛平面的光源座標,并且在相應(yīng)的預(yù)定的陣列變量區(qū)域Z11-Z1n內(nèi)登記所確定的光源座標的Z座標。
如圖25中所示,呈現(xiàn)裝置106安排為除參考陰影平面150和生成陰影平面152之外還使用一個與第1個至第n個背景虛平面一起在邏輯上賦予圖像存儲器34的紋理區(qū)域34a的背景陰影平面192。
呈現(xiàn)裝置106具有陰影平面初始化裝置160、包讀取裝置162、表格記錄讀取裝置164、物體判斷裝置166、陰影平面呈現(xiàn)裝置168、多邊形陰影顯示判斷裝置170、隱面去除處理裝置172和終結(jié)判斷裝置174。陰影平面初始化裝置160、陰影平面呈現(xiàn)裝置168和雙線性處理裝置190具有與以前描述的裝置不同的功能。
陰影平面初始化裝置160將初始數(shù)據(jù)Di寫入背景陰影平面192以及參考陰影平面150和生成陰影平面152內(nèi)以便將這些陰影平面150、152、192初始化。
陰影平面呈現(xiàn)裝置168根據(jù)自光源52至虛平面50的距離(虛平面50的Z座標)和自光源52至相應(yīng)的背景虛平面的距離(第1個至第n個背景虛平面中的任何一個的Z座標),在背景陰影平面192上呈現(xiàn)一個當(dāng)將投影于虛平面50上而形成的一個多邊形陰影(一個在參考陰影平面150上呈現(xiàn)的多邊形陰影)投影于實際上位于物體之后的第1個至第n個背景虛平面中的任何一個上時所形成的多邊形陰影。
雙線性處理裝置190對呈現(xiàn)于背景陰影平面192上的多邊形陰影以及呈現(xiàn)于生成陰影平面152上的多邊形陰影實行低通濾波。
下面參照圖26至28描述根據(jù)第三實施例的垂落陰影過程的操作。
在圖26的步驟S401-S404中,不同設(shè)置處理裝置102生成一個物體信息表格110,將各物體的布置信息登記于物體信息表格110內(nèi),將屏幕176的通用座標進行登記,以及將光源52的類型和光源52的通用座標進行登記,如同在根據(jù)第一實施例的垂落陰影過程中不同設(shè)置處理裝置102所執(zhí)行的步驟S101-S104。
在步驟S405中,座標設(shè)置裝置124根據(jù)存于陣列變量區(qū)域Z2中的光源52的位置和登記于物體信息表格110內(nèi)的物體的布置信息來設(shè)置虛平面50和第1個至第n個背景虛平面的布置,計算虛平面50和第1個至第n個背景虛平面的通用座標,以及將計算的通用座標存于預(yù)定的陣列變量區(qū)域Z4、Z11-Z1n內(nèi)。
在步驟S406中,光源座標計算裝置126根據(jù)光源52和存于陣列變量區(qū)域Z2、Z4中的虛平面50的通用座標來計算虛平面50和第1個至第n個背景虛平面的光源座標,并且將計算的通用座標的Z座標存于預(yù)定的陣列變量區(qū)域Z5、Z21-Z2n內(nèi)。
呈現(xiàn)表格生成裝置104與根據(jù)第一實施例的垂落陰影過程同樣地完成同樣的處理。因此,下面將不描述由呈現(xiàn)表格生成裝置104完成的處理過程。
然后,在圖27中所示的步驟S501中,呈現(xiàn)裝置106的陰影平面初始化裝置160自初始數(shù)據(jù)文件178中讀取初始數(shù)據(jù)Di,同時在所用陰影平面(參考陰影平面150、生成陰影平面152和背景陰影平面192)中呈現(xiàn)初始數(shù)據(jù)Di以便將這些陰影平面初始化。
在步驟S502中,呈現(xiàn)裝置106將初始值“FF”存于用于保存物體號i的寄存器R內(nèi),將初始值“0”存于用于搜索包114的索引寄存器k內(nèi),以及將初始值“0”存于用于搜索背景虛平面的索引寄存器n內(nèi),從而將寄存器R和索引寄存器k,n初始化。
在步驟S503中,包讀取裝置162在呈現(xiàn)表格116中由索引寄存器所標示的位置處讀取一個包114(第k個)。在步驟S504中,包讀取裝置162自所讀包114中讀取物體號i。
在步驟S505中,物體判斷裝置166通過判斷索引寄存器i的值是否與寄存器R的值相同而判斷現(xiàn)有物體號i是否與先前物體號相同。
如果現(xiàn)有物體號i與先前物體號不同,則控制過程進至步驟S506,其中表格記錄讀取裝置164自物體信息表格110中讀取i記錄。
在步驟S507中,陰影平面呈現(xiàn)裝置168將在生成陰影平面152中呈現(xiàn)的多邊形陰影的紋理數(shù)據(jù)復(fù)制至參考陰影平面150上。
在步驟S508中,雙線性處理裝置190對呈現(xiàn)于生成陰影平面152中的多邊形陰影的紋理數(shù)據(jù)進行低通濾波。
在步驟S509中,物體判斷裝置166將物體號i存于寄存器R中。此后,呈現(xiàn)裝置106將索引寄存器n的值增量“+1”。
在步驟S510中的處理完成后,或者如果在步驟S505中現(xiàn)有物體號i與先前物體號相同,則控制過程進至圖28中所示的步驟S511,其中紋理表現(xiàn)處理裝置154完成正常的紋理表現(xiàn)過程。具體地,紋理表現(xiàn)處理裝置154根據(jù)現(xiàn)有多邊形的屏幕座標和紋理表格180的初始地址來完成紋理表現(xiàn)過程,例如附加陰影、紋理映射等。
在步驟S512中,多邊形陰影判斷裝置170根據(jù)登記于物體信息表格110的相應(yīng)的記錄中的光源處理屬性的多邊形陰影顯示屬性來判斷是否能夠在物體上顯示多邊形陰影。
如果能夠顯示多邊形陰影,則控制過程進至步驟S513,其中多邊形陰影顯示判斷裝置170根據(jù)物體號i是否為“0”來判斷該多邊形陰影是否為第一次顯示。
如果不是第一次,則控制過程進至步驟S514,其中陰影平面呈現(xiàn)裝置168根據(jù)虛平面50的Z座標和第n個背景虛平面的Z座標,在背景陰影平面192上呈現(xiàn)一個當(dāng)將投影于虛平面50上而形成的一個多邊形陰影(一個在參考陰影平面150上呈現(xiàn)的多邊形陰影)投影于實際上位于物體之后的第n個背景虛平面上時所形成的多邊形陰影。
在步驟S515中,雙線性處理裝置190對呈現(xiàn)于背景陰影平面192上的多邊形陰影進行低通濾波,從而根據(jù)離開光源52的距離使多邊形陰影模糊。
在步驟S516中,紋理表現(xiàn)處理裝置154的紋理映射裝置156按照根據(jù)呈現(xiàn)于參考陰影平面150上的多邊形陰影、呈現(xiàn)于背景陰影平面192上的多邊形陰影和多邊形頂點的光源座標而實現(xiàn)的呈現(xiàn)操作來執(zhí)行插補過程,并且通過紋理映射將投影至多邊形上的多邊形陰影進行映射。
此時,如圖29中所示,執(zhí)行紋理映射以使多邊形陰影的形狀沿著多邊形200的深度自呈現(xiàn)于參考陰影平面150上的多邊形陰影204的形狀逐漸地變化至呈現(xiàn)于第n個背景陰影平面202n上的多邊形陰影206的形狀,同時多邊形200上的顏色沿著多邊形200的深度自呈現(xiàn)于參考陰影平面150上的多邊形陰影204的顏色逐漸地變化至呈現(xiàn)于第n個背景陰影平面202n上的多邊形陰影206的顏色。
如果在步驟S513中判斷這是第一次,則控制過程進至步驟S517,其中紋理映射裝置156通過紋理映射將呈現(xiàn)于參考陰影平面150上的多邊形陰影映射至準備處理的多邊形上,同時將多邊形的投影座標引至虛平面50上。
在步驟S516或步驟S517中的處理過程結(jié)束后,或者如果無法顯示多邊形陰影,則控制過程進至步驟S518,其中陰影平面呈現(xiàn)裝置168根據(jù)現(xiàn)有多邊形在虛平面50上的投影座標來在生成陰影平面152上呈現(xiàn)現(xiàn)有多邊形的多邊形陰影與先前多邊形陰影的組合,并且將該組合的陰影涂以黑色(R,G,B,α)=(0,0,0,100%)。
在步驟S519中,隱面去除處理裝置172將現(xiàn)有多邊形的數(shù)據(jù)寫入呈現(xiàn)區(qū)域34b中并且根據(jù)現(xiàn)有多邊形的屏幕座標按照Z緩存操作執(zhí)行隱面去除操作。
在步驟S520中,呈現(xiàn)裝置106將索引寄存器k的值增量“+1”。然后在步驟S521中,終結(jié)判斷裝置174判斷對所有包114的處理是否都已結(jié)束。如果對所有包114的處理尚未結(jié)束,則控制過程回至步驟S503以便完成正常紋理表現(xiàn)過程,多邊形陰影的紋理映射,以及對登記于下一個包114中的多邊形實行隱面去除操作。
如果在步驟S521中所有登記于呈現(xiàn)表格116中的包114都已處理完畢,則呈現(xiàn)裝置106的操作順序結(jié)束。
將步驟S503-S519中的處理過程重復(fù)以便提供以下優(yōu)點相對于其位置最靠近光源52的物體Ob1的多邊形而言,只將初始數(shù)據(jù)Di寫在參考陰影平面150上。如果初始數(shù)據(jù)Di表示透明,則不在物體Ob1的多邊形上呈現(xiàn)多邊形陰影。
在作為離開光源52的第二個物體的物體Ob2的各多邊形上,呈現(xiàn)離光源的第一物體Ob1的所有多邊形陰影中的出現(xiàn)在物體Ob1的多邊形的投影座標所表示的范圍內(nèi)的多邊形陰影。當(dāng)完成對第二物體Ob2的處理操作時,第一物體Ob1的多邊形陰影呈現(xiàn)于第二物體Ob2上。與此同時,投影于物體Ob2上的多邊形陰影的顏色表現(xiàn)為按照步驟S516中的呈現(xiàn)操作(三線處理)沿著物體Ob2的深度方向逐漸變化。
類似地,在作為離光源52的第三物體的物體Ob3上,呈現(xiàn)第一物體Ob1的多邊形陰影和第二物體Ob2的多邊形陰影的組合。多邊形陰影的顏色也表現(xiàn)為沿著物體Ob3的深度方向逐漸變化。
在根據(jù)第三實施例的垂落陰影過程中,如上所述,當(dāng)呈現(xiàn)于生成陰影平面152上的多邊形陰影表現(xiàn)于一個物體上時,按照根據(jù)準備處理物體的光源座標而實行的呈現(xiàn)操作而在進行低通濾波之前的多邊形陰影與進行低通濾波之后的多邊形陰影之間進行插補,從而控制陰影的模糊化。因此,能夠容易地表現(xiàn)更為現(xiàn)實的陰影。
下面參照圖30描述根據(jù)本發(fā)明第四實施例的垂落陰影過程。
在根據(jù)本發(fā)明第四實施例的垂落陰影過程中,如圖30中所示,在物體Ob1、Ob2、Ob3上表現(xiàn)一個擴展光源210例如火焰。這類表現(xiàn)是通過事先將擴展光源210投影于虛平面50上而實現(xiàn)的。
具體地,擴展光源210的投影圖像212可以預(yù)設(shè)為初始數(shù)據(jù)Di,它們可供根據(jù)圖9中所示第一和第二實施例的呈現(xiàn)裝置106及根據(jù)圖25中所示第三實施例的呈現(xiàn)裝置106使用。
在圖27中所示的步驟S501中,在根據(jù)第三實施例的垂落陰影過程的呈現(xiàn)裝置106中,例如陰影平面初始化裝置160將初始數(shù)據(jù)Di呈現(xiàn)于參考陰影平面150上、生成陰影平面152上和背景陰影平面192上,以及將物體上的多邊形陰影涂以黑色,從而在步驟S503-S519中將擴展光源210調(diào)制為光。在步驟S515中根據(jù)離開擴展光源210的距離來將多邊形陰影和擴展光源210進行低通濾波。
在初始階段P0中,只將擴展光源210的投影圖像212呈現(xiàn)于生成陰影平面152上。當(dāng)在階段P1中完成物體Ob1的處理時,在生成陰影平面152上呈現(xiàn)已經(jīng)進行過低通濾波的擴展光源210的投影圖像212a和物體Ob1的本影214。當(dāng)在階段P2中完成物體Ob2的處理時,在生成陰影平面152上呈現(xiàn)已經(jīng)進行過兩次低通濾波的擴展光源210的投影圖像212b、已經(jīng)進行過一次低通濾波的物體Ob1的陰影214a和物體Ob2的本影216。
將擴展光源210調(diào)制為光意味著使用呈現(xiàn)于參考陰影平面150上的擴展顏色并且根據(jù)正常垂直線的傾斜和紋理映射將光源計算之后的多邊形顏色加強。
在根據(jù)本發(fā)明第四實施例的垂落陰影過程中,由于擴展光源210例如一個火焰被預(yù)設(shè)為陰影平面150、152、192的初始數(shù)據(jù)Di,同時擴展光源210被反射且陰影被照在物體上,擴展光源210的投影圖像和由擴展光源210產(chǎn)生的陰影能夠容易地表現(xiàn)出來。
在以上實施例中,使用Z緩存操作來執(zhí)行隱面去除操作。當(dāng)然,可以根據(jù)屏幕座標系統(tǒng)使用Z分類執(zhí)行隱面去除操作。
根據(jù)本發(fā)明的圖像處理方法、圖像處理設(shè)備。記錄媒體和程序提供以下優(yōu)點(1)有可能容易地表現(xiàn)安排于復(fù)雜布置中的多個物體的陰影或者具有復(fù)雜形狀的物體的陰影。
(2)能夠選擇性地完成一個物體陰影的表現(xiàn)。
(3)能夠容易地將不同效果例如模糊化操作應(yīng)用于一個物體的陰影。
(4)在陰影的不同效果中,能夠容易地控制模糊化操作,從而容易地表現(xiàn)更為現(xiàn)實的陰影。
(5)能夠容易地表現(xiàn)一個擴展光源例如一個火焰的投影圖像和由擴展光源產(chǎn)生的陰影。
雖然詳細地顯示和描述了本發(fā)明的一定優(yōu)選實施例,但應(yīng)該理解,可以在不背離所附權(quán)利要求書的范圍的情況下在其中作出不同改變和修改。
權(quán)利要求
1.一種用于處理圖像的方法,包括以下步驟根據(jù)由三維模型化所生成的多個物體(Ob1、Ob2)的布置來建立至少一個虛平面(50);及從光源(52)的觀察角度看,在比物體(Ob1)離光源(52)更遠的物體(Ob2)上表現(xiàn)投影于所述虛平面(50)上的物體(Ob1)的陰影。
2.根據(jù)權(quán)利要求1的方法,還包括以下步驟為物體(Ob1、Ob2)的光源處理屬性定義一個陰影表現(xiàn)屬性以便確定陰影(56)是否準備在物體(Ob1、Ob2)上表現(xiàn);及根據(jù)所述陰影表現(xiàn)屬性來選擇性地表現(xiàn)物體(Ob2)上的陰影(56)。
3.根據(jù)權(quán)利要求1或2的方法,還包括以下步驟建立一個用作對應(yīng)于所述虛平面(50)的紋理平面的陰影平面(150);呈現(xiàn)在所述陰影平面(150)的所述虛平面(50)上的投影所形成的所述物體(Ob1)的陰影(56);及通過紋理映射將在所述陰影平面(150)上呈現(xiàn)的陰影(56)映射至所述其他物體(Ob2)上。
4.根據(jù)權(quán)利要求3的方法,其中所述通過紋理映射將陰影(56)映射至所述其他物體(Ob2)上的步驟包括根據(jù)所述其他物體(Ob2)投影在所述虛平面(50)上的投影座標通過紋理映射將陰影(56)映射至所述其他物體(Ob2)上的步驟。
5.根據(jù)權(quán)利要求3或4的方法,其中所述通過紋理映射將陰影(56)映射至所述其他物體(Ob2)上的步驟包括相對于所述其他物體(Ob2)的多邊形中的每一個通過紋理映射將陰影(56)映射至所述其他物體(Ob2)上的步驟。
6.根據(jù)權(quán)利要求3至5中的任何一項的方法,還包括以下步驟從所述光源(52)的觀察角度來確定所述物體(Ob1、Ob2)的座標;連續(xù)地在離開所述光源(52)的方向內(nèi)確定所述物體(Ob1、Ob2)在虛平面(50)上的投影座標;及每當(dāng)對物體(Ob1、Ob2)中的一個完成紋理映射時根據(jù)所述投影座標來呈現(xiàn)由物體(Ob1)在所述陰影平面(150)上形成的陰影(56)。
7.根據(jù)權(quán)利要求6的方法,還包括以下步驟相對于物體(Ob1、Ob2)的多邊形中的每一個確定所述物體(Ob1、Ob2)的座標和所述物體(Ob1、Ob2)在虛平面(50)上的投影座標;連續(xù)地在離開所述光源(52)的方向內(nèi)在呈現(xiàn)表格(116)內(nèi)登記確定的座標;及連續(xù)地從所述呈現(xiàn)表格(116)中讀取登記的座標以便在所述陰影平面(150)上呈現(xiàn)陰影(56)。
8.根據(jù)權(quán)利要求6或7的方法,還包括以下步驟至少根據(jù)離開所述光源(52)的距離對在所述陰影平面(150)上呈現(xiàn)的陰影(56)實行低通濾波,從而至少根據(jù)離開所述光源(52)的距離對所述陰影(56)應(yīng)用模糊化操作。
9.根據(jù)權(quán)利要求8的方法,還包括以下步驟根據(jù)該呈現(xiàn)操作是在將陰影進行低通濾波之前實現(xiàn)的還是在將陰影進行低通濾波之后實現(xiàn)的,及根據(jù)準備處理的物體的光源座標而將在所述物體(Ob2)上表現(xiàn)的在生成陰影平面(150)上呈現(xiàn)的陰影(56)進行插補,從而控制所述陰影(56)的模糊程度。
10.根據(jù)權(quán)利要求6至9中的任何一項的方法,還包括以下步驟準備用作所述陰影平面的一個參考陰影平面(150)和一個生成陰影平面(152);每當(dāng)準備處理的物體自一個切換至另一個時,將生成陰影平面(152)上呈現(xiàn)的陰影(56)復(fù)制至所述參考陰影平面(150)上;及每當(dāng)所述參考陰影平面(150)上的陰影(56)相對于一個物體的多邊形中的每一個進行紋理映射時,將多邊形的投影圖像(54)呈現(xiàn)于所述虛平面(50)上以便作為所述生成陰影平面(152)上的新的組合陰影(56)。
11.根據(jù)權(quán)利要求10的方法,還包括以下步驟每當(dāng)所述生成陰影平面(152)上呈現(xiàn)的陰影(56)復(fù)制至所述參考陰影平面(150)上時,對在所述生成陰影平面(152)上呈現(xiàn)的陰影(56)實行低通濾波。
12.根據(jù)權(quán)利要求11的方法,還包括以下步驟除作為所述陰影平面的參考陰影平面(150)和生成陰影平面(152)之外,還準備一個背景陰影平面(192),所述背景陰影平面(192)是從光源(52)的觀察角度看一個對應(yīng)于位于準備處理物體之后的背景虛平面的紋理平面;在所述背景陰影平面(192)上呈現(xiàn)一個通過將投影于所述虛平面(50)上的陰影(204)投影于所述背景虛平面上而形成的陰影;及通過紋理映射將表現(xiàn)于準備處理物體上的陰影進行映射,同時按照根據(jù)所述參考陰影平面(150)上呈現(xiàn)的陰影(204)、在所述背景陰影平面(192)上呈現(xiàn)的陰影(206)和所述物體的光源座標所實現(xiàn)的呈現(xiàn)操作來對陰影進行插補。
13.根據(jù)權(quán)利要求3至12中任何一項的方法,還包括以下步驟建立一個擴展光源(210)作為所述陰影平面(150)的初始值;及將所述擴展光源(210)反射以及在所述物體上形成它的陰影。
14.一種用于處理圖像的設(shè)備,包括用于根據(jù)由三維模型化所生成的多個物體(Ob1、Ob2)的布置來建立至少一個虛平面(50)的第一裝置(102);及用于從光源(52)的觀察角度看在比物體(Ob1)離光源(52)更遠的物體(Ob2)上表現(xiàn)投影于所述虛平面(50)上的一個物體(Ob1)的陰影(56)的第二裝置(104)。
15.根據(jù)權(quán)利要求14的設(shè)備,其中所述第一裝置(102)包括用于為物體(Ob1、Ob2)的光源處理屬性定義一個陰影表現(xiàn)屬性以便確定陰影(56)是否在物體(Ob1、Ob2)上表現(xiàn)的裝置,以及其中所述第二裝置(104)包括用于根據(jù)所述陰影表現(xiàn)屬性來選擇性地表現(xiàn)物體(Ob2)上的陰影(56)的裝置。
16.根據(jù)權(quán)利要求14或15的設(shè)備,其中所述第二裝置(104)具有用于建立一個用作對應(yīng)于所述虛平面(50)的紋理平面的陰影平面(150),在所述陰影平面(150)上呈現(xiàn)通過投影于所述虛平面(50)上而形成的所述物體(Ob1)的陰影(56),以及通過紋理映射將在所述陰影平面(150)上呈現(xiàn)的陰影(56)映射至所述其他物體(Ob2)上的呈現(xiàn)裝置(106)。
17.根據(jù)權(quán)利要求16的設(shè)備,其中所述呈現(xiàn)裝置(106)包括根據(jù)所述其他物體(Ob2)的投影座標通過紋理映射至所述虛平面(50)上用于將陰影(56)映射至所述其他物體(Ob2)上的裝置。
18.根據(jù)權(quán)利要求16或17的設(shè)備,其中所述呈現(xiàn)裝置(106)包括用于通過相對于所述其他物體(Ob2)的多邊形中的每一個的紋理映射而將陰影(56)映射至所述其他物體(Ob2)上的裝置。
19.根據(jù)權(quán)利要求16至18中任何一項的設(shè)備,其中所述第二裝置(104)包括用于從所述光源(52)的觀察角度來確定所述物體(Ob1、Ob2)的座標,和連續(xù)地在離開所述光源(52)的方向內(nèi)確定所述物體(Ob1、Ob2)在虛平面(50)上的投影座標的座標計算裝置(138),以及其中所述呈現(xiàn)裝置(106)包括每當(dāng)對物體(Ob1、Ob2)中的一個完成紋理映射時用于根據(jù)所述投影座標來呈現(xiàn)由物體(Ob1)在所述陰影平面(150)上形成的陰影(56)的裝置。
20.根據(jù)權(quán)利要求19的設(shè)備,其中所述第二裝置(104)包括用于相對于物體(Ob1、Ob2)的多邊形中的每一個來確定所述物體(Ob1、Ob2)的座標和所述物體(Ob1、Ob2)在虛平面(50)上的投影座標,和連續(xù)地在離開光源(52)的方向內(nèi)在呈現(xiàn)表格(116)內(nèi)登記確定的座標的呈現(xiàn)表格生成裝置(142),以及其中所述呈現(xiàn)裝置(106)包括用于連續(xù)地從呈現(xiàn)表格(116)中讀取登記的座標以便呈現(xiàn)所述陰影平面(150)上的陰影(56)的裝置。
21.根據(jù)權(quán)利要求19或20的設(shè)備,其中所述呈現(xiàn)裝置(106)包括用于至少根據(jù)離開所述光源(52)的距離對在所述陰影平面(150)上呈現(xiàn)的陰影(56)實行低通濾波,從而至少根據(jù)離開所述光源(52)的距離使所述陰影(56)變得模糊的裝置。
22.根據(jù)權(quán)利要求21的設(shè)備,其中所述呈現(xiàn)裝置(106)包括用于根據(jù)陰影是在將陰影進行低通濾波之前呈現(xiàn)的還是在將陰影進行低通濾波之后呈現(xiàn)的,及根據(jù)準備處理的物體的光源座標而將在所述物體(Ob2)上表現(xiàn)的在生成陰影平面(150)上呈現(xiàn)的陰影(56)進行插補,從而控制所述陰影(56)的模糊化的裝置。
23.根據(jù)權(quán)利要求19至22中任何一項的設(shè)備,其中所述呈現(xiàn)裝置(106)包括用于準備用作所述陰影平面的一個參考陰影平面(150)和一個生成陰影平面(152),及每當(dāng)準備處理的物體自一個切換至另一個時,將生成陰影平面(152)上呈現(xiàn)的陰影(56)復(fù)制至所述參考陰影平面(150)上,及每當(dāng)所述參考陰影平面(150)上的陰影(56)通過相對于一個物體的多邊形中的每一個進行紋理映射時,將多邊形的投影圖像(54)呈現(xiàn)于所述虛平面(50)上以便作為所述生成陰影平面(152)上的新的組合陰影(56)的裝置。
24.根據(jù)權(quán)利要求23的設(shè)備,其中所述呈現(xiàn)裝置(106)包括每當(dāng)所述生成陰影平面(152)上呈現(xiàn)的陰影(56)復(fù)制至所述參考陰影平面(150)上時,用于對所述生成陰影平面(152)上呈現(xiàn)的陰影(56)實行低通濾波的裝置。
25.根據(jù)權(quán)利要求24的設(shè)備,其中所述呈現(xiàn)裝置(106)包括用于除作為所述陰影平面的參考陰影平面(150)和生成陰影平面(152)之外,還準備一個背景陰影平面(192)的裝置,所述背景陰影平面(192)是從光源(52)的觀察角度看一個對應(yīng)于位于準備處理物體之后的背景虛平面的紋理平面,所述裝置在所述背景陰影平面上呈現(xiàn)一個通過將投影于所述虛平面(50)上的陰影(204)投影于所述背景虛平面(192)上而形成的陰影,以及通過紋理映射將表現(xiàn)于準備處理物體上的陰影進行映射,同時按照根據(jù)所述參考陰影平面(150)上呈現(xiàn)的陰影(204)、在所述背景陰影平面(192)上呈現(xiàn)的陰影(206)和所述物體的光源座標而實現(xiàn)的呈現(xiàn)操作來對陰影進行插補。
26.根據(jù)權(quán)利要求16至25中任何一項的設(shè)備,其中所述呈現(xiàn)裝置(106)包括用于建立一個擴展光源(210)作為所述陰影平面(150)的初始值,將所述擴展光源(210)反射以及在所述物體上形成它的陰影的裝置。
27.一種用于存儲一個程序的記錄媒體,所述程序包括以下步驟(a)根據(jù)由三維模型化所生成的多個物體(Ob1、Ob2)的布置來建立至少一個虛平面(50);及(b)從光源(52)的觀察角度看,在比物體(Ob1)離光源(52)更遠的物體(Ob2)上表現(xiàn)投影于所述虛平面(50)上的物體(Ob1)的陰影(56)。
28.根據(jù)權(quán)利要求27的記錄媒體,其中所述步驟(a)包括定義陰影表現(xiàn)屬性為物體(Ob1、Ob2)的光源處理屬性以便確定陰影(56)是否在物體(Ob1、Ob2)上表現(xiàn)的步驟,以及所述步驟(b)包括根據(jù)所述陰影表現(xiàn)屬性來選擇性地表現(xiàn)物體(Ob2)上陰影(56)的步驟。
29.根據(jù)權(quán)利要求27或28的記錄媒體,其中所述步驟(b)包括以下步驟(c)建立一個用作對應(yīng)于所述虛平面(50)的紋理平面的陰影平面(150),在所述陰影平面(150)上呈現(xiàn)通過投影于所述虛平面(50)上而形成的所述物體(Ob1)的陰影(56),以及通過紋理映射把在所述陰影平面(150)上呈現(xiàn)的陰影(56)映射至所述其他物體(Ob2)上。
30.根據(jù)權(quán)利要求29的記錄媒體,其中所述步驟(c)還包括根據(jù)所述其他物體(Ob2)在所述虛平面(50)上的投影座標通過紋理映射將陰影(56)映射至所述其他物體(Ob2)上的步驟。
31.根據(jù)權(quán)利要求29或30的記錄媒體,其中所述步驟(c)還包括通過相對于所述其他物體(Ob2)的多邊形中的每一個的紋理映射而將陰影(56)映射至所述其他物體(Ob2)上的步驟。
32.根據(jù)權(quán)利要求29至31中的任何一項的記錄媒體,其中步驟(b)還包括以下步驟從所述光源(52)的觀察角度看確定所述物體(Ob1、Ob2)的座標,以及連續(xù)地在離開光源(52)的方向內(nèi)確定所述物體(Ob1、Ob2)在虛平面(50)上的投影座標,以及其中步驟(c)還包括每當(dāng)對物體(Ob1、Ob2)中的一個完成紋理映射時根據(jù)所述投影座標來呈現(xiàn)由物體(Ob1)在所述陰影平面(150)上形成的陰影(56)的步驟。
33.根據(jù)權(quán)利要求32的記錄媒體,其中步驟(b)還包括以下步驟相對于物體(Ob1、Ob2)的多邊形中的每一個確定所述物體(Ob1、Ob2)的座標和所述物體(Ob1、Ob2)在虛平面(50)上的投影座標,以及連續(xù)地在離開所述光源(52)的方向內(nèi)在呈現(xiàn)表格(116)內(nèi)登記確定的座標,以及其中步驟(c)還包括連續(xù)地從呈現(xiàn)表格(116)中讀取登記的座標以便呈現(xiàn)所述陰影平面(150)上的陰影(56)的步驟。
34.根據(jù)權(quán)利要求32或33的記錄媒體,其中步驟(c)還包括至少根據(jù)離開所述光源(52)的距離對在所述陰影平面(150)上呈現(xiàn)的陰影(56)實行低通濾波,從而至少根據(jù)離開所述光源(52)的距離使陰影(56)模糊的步驟。
35.根據(jù)權(quán)利要求34的記錄媒體,其中步驟(c)還包括以下步驟根據(jù)呈現(xiàn)操作是在將陰影進行低通濾波之前實行的還是在將陰影進行低通濾波之后實行的,及根據(jù)準備處理的物體的光源座標而將在所述物體(Ob2)上表現(xiàn)的在生成陰影平面(152)上呈現(xiàn)的陰影(56)進行插補,從而控制所述陰影(56)的模糊化的步驟。
36.根據(jù)權(quán)利要求29至35中的任何一項的記錄媒體,其中步驟(c)還包括以下步驟準備用作所述陰影平面的一個參考陰影平面(150)和一個生成陰影平面(152),以及,每當(dāng)準備處理的物體自一個切換至另一個時,將生成陰影平面(152)上呈現(xiàn)的陰影(56)復(fù)制至所述參考陰影平面(150)上,以及每當(dāng)所述參考陰影平面(150)上的陰影通過相對于一個物體的多邊形中的每一個進行紋理映射時,將多邊形的投影圖像(54)呈現(xiàn)于所述虛平面(150)上以便作為所述生成陰影平面(152)上新的組合陰影(56)。
37.根據(jù)權(quán)利要求36的記錄媒體,其中步驟(c)還包括每當(dāng)所述生成陰影平面(152)上呈現(xiàn)的陰影(56)復(fù)制至所述參考陰影平面(150)上時,對在所述生成陰影平面(152)上呈現(xiàn)的陰影(56)實行低通濾波的步驟。
38.根據(jù)權(quán)利要求37的記錄媒體,其中步驟(c)還包括以下步驟除作為所述陰影平面的參考陰影平面(150)和生成陰影平面(152)之外,還準備一個背景陰影平面(192),所述背景陰影平面(192)是從光源(52)的觀察角度看一個對應(yīng)于位于準備處理物體之后的背景虛平面的紋理平面;在所述背景陰影平面(192)上呈現(xiàn)一個通過將投影于所述虛平面(50)上的陰影(204)投影于所述背景虛平面上而形成的陰影;以及通過紋理映射將表現(xiàn)于準備處理物體上的陰影進行映射,同時根據(jù)所述參考陰影平面(150)上呈現(xiàn)的陰影(204)、在所述背景陰影平面(192)上呈現(xiàn)的陰影(206)和所述物體的光源座標實現(xiàn)的呈現(xiàn)操作來對陰影進行插補。
39.根據(jù)權(quán)利要求29至38中任何一項的記錄媒體,其中步驟(c)還包括以下步驟建立一個擴展光源(210)作為所述陰影平面(150)的初始值,將所述擴展光源(210)反射以及在所述物體上形成它的陰影。
40.一種程序包括以下步驟(a)根據(jù)由三維模型化所生成的多個物體(Ob1、Ob2)的布置來建立至少一個虛平面(50);及(b)從光源(52)的觀察角度看表現(xiàn)在比物體(Ob1)離光源(52)更遠的物體(Ob2)上投影于所述虛平面(50)上的物體(Ob1)的陰影(56)。
全文摘要
在已經(jīng)將準備處理物體執(zhí)行正常紋理表現(xiàn)過程(紋理映射和附加陰影)之后,呈現(xiàn)于一個陰影平面(參考陰影平面(150))上的一個多邊形陰影被進行紋理映射同時呈現(xiàn)于一個屏幕(176)上(過程1),以及此后在物體上形成的多邊形陰影呈現(xiàn)于陰影平面(150)上(過程2)。以上過程是從光源(52)的觀察角度看由Z分類操作執(zhí)行的,如箭頭A所標示。
文檔編號G06T15/00GK1343343SQ00804786
公開日2002年4月3日 申請日期2000年2月25日 優(yōu)先權(quán)日1999年3月8日
發(fā)明者大場章男 申請人:索尼計算機娛樂公司