一種虛擬對象渲染方法及裝置的制造方法
【專利摘要】本發(fā)明實施例提供的一種虛擬對象渲染方法及裝置,該方法包括:獲得待渲染對象的材質(zhì)和各個模型面的渲染需求;根據(jù)所述待渲染對象的材質(zhì),從預先建立的材質(zhì)貼圖庫中選擇與每一個模型面的渲染需求相對應的材質(zhì)貼圖,其中,所述材質(zhì)貼圖庫中存儲有每一材質(zhì)的不同渲染需求對應的材質(zhì)貼圖;根據(jù)所選擇的各個材質(zhì)貼圖對每一模型面進行渲染,進而完成對所述待渲染對象的渲染。應用本發(fā)明實施例提供的方法進行虛擬對象渲染時,利用預先根據(jù)真實材質(zhì)得到的材質(zhì)貼圖進行渲染,而無需采用美工繪制的方式,提高了虛擬對象渲染的效果,提高了虛擬場景的真實感。
【專利說明】
一種虛擬對象渲染方法及裝置
技術(shù)領域
[0001] 本發(fā)明涉及圖形圖像處理技術(shù)領域,特別是涉及一種虛擬對象渲染方法及裝置。
【背景技術(shù)】
[0002] 虛擬現(xiàn)實技術(shù),是一種可以創(chuàng)建和體驗虛擬世界的計算機仿真系統(tǒng)。利用計算機 仿真系統(tǒng)生成的數(shù)字化模擬場景被稱為虛擬場景,用戶可以通過鼠標、鍵盤等與所制作的 虛擬場景進行交互并產(chǎn)生身臨其境的體驗。目前,虛擬現(xiàn)實技術(shù)在游戲、動畫等各個領域中 得到了廣泛的應用,例如,利用虛擬現(xiàn)實技術(shù)制作的網(wǎng)絡游戲,等等。
[0003] 虛擬場景中往往是包括多個虛擬對象(簡稱"對象")的,例如,在網(wǎng)絡游戲中,虛擬 場景中一般可以包括虛擬人物、虛擬房屋、虛擬天空以及虛擬武器裝備等多個對象;而每個 對象通常是由多個模型面構(gòu)成的,其中,模型面可以是三角形的模型面,也可以是四邊形的 模型面,等等。為了使得虛擬場景具有真實感,往往要對虛擬場景中所包括的對象進行渲 染,如對對象的光線效果的渲染等,虛擬場景中對象渲染效果的好壞往往直接關(guān)系到虛擬 場景的真實感?,F(xiàn)有技術(shù)中,對于對象的渲染往往是由專業(yè)人員根據(jù)渲染經(jīng)驗通過美工繪 制方式來完成的。
[0004] 可見,通過美工繪制的方式來渲染虛擬對象時很大程度上會受到專業(yè)人員的繪畫 程度的限制,導致虛擬場景的真實感不高。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例的目的在于提供一種虛擬對象渲染方法及裝置,以提高虛擬場景的 真實感。
[0006] 為達到上述目的,本發(fā)明實施例公開了一種虛擬對象渲染方法,所述方法包括:
[0007] 獲得待渲染對象的材質(zhì)和各個模型面的渲染需求;
[0008] 根據(jù)所述待渲染對象的材質(zhì),從預先建立的材質(zhì)貼圖庫中選擇與每一個模型面的 渲染需求相對應的材質(zhì)貼圖,其中,所述材質(zhì)貼圖庫中存儲有每一材質(zhì)的不同渲染需求對 應的材質(zhì)貼圖;
[0009] 根據(jù)所選擇的各個材質(zhì)貼圖對每一模型面進行渲染,進而完成對所述待渲染對象 的渲染。
[0010] 可選的,通過以下方式建立所述材質(zhì)貼圖庫:
[0011] 利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利用單 相機獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像;
[0012] 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,利 用非線性優(yōu)化方法計算所述材質(zhì)基于不同渲染需求的材質(zhì)貼圖參數(shù);
[0013] 根據(jù)所述材質(zhì)貼圖參數(shù),生成所述材質(zhì)的不同渲染需求對應的各個材質(zhì)貼圖。 [0014]可選的,所述根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及 相機位置,利用非線性優(yōu)化方法計算所述材質(zhì)基于不同渲染需求的材質(zhì)貼圖參數(shù),包括:
[0015] 通過以下步驟,計算所述材質(zhì)基于不同渲染需求的材質(zhì)貼圖參數(shù):
[0016] 依據(jù)像素點的像素值,利用預設的聚類算法,對所述各個樣本圖像中的全部像素 點進行聚類處理,獲得聚類后的類別;
[0017] 按照預設的像素點遍歷規(guī)則,確定每一類別中的第一個像素點;
[0018] 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,利 用非線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù);
[0019] 根據(jù)每一類別中其他像素點與第一個像素點的亮度比值,計算其他像素點的權(quán)重 系數(shù),并根據(jù)所述每一類中第一個像素點的材質(zhì)貼圖參數(shù)計算其他像素點的材質(zhì)貼圖參 數(shù)。
[0020] 可選的,所述利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖 案,并利用單相機獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像,包括:
[0021] 利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利用單 相機,采集所述材質(zhì)在每一預設光源顏色的不同光照強度下的各個樣本圖像。
[0022] 可選的,所述材質(zhì)貼圖參數(shù)包括:漫反射系數(shù)、鏡面反射系數(shù)、法向量、高光系數(shù);
[0023] 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,利 用非線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),包括:
[0024] 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,并 按照以下表達式計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),
[0025]
[0026] 其中,V(x)= Pd (X) · Dot (N(x),L)+Ps (X) · pow( (Dot (N(x),H),g(x) )· Dot (N(x), U,I(x)為所述各個樣本圖像中與第一個像素點坐標相同的像素點x的像素值,Pd(x)為像 素點X的漫反射系數(shù),Ps(X)為像素點X的鏡面反射系數(shù),N(X)為像素點X的法向量,g(x)為像 素點X的高光系數(shù),L為像素點X的光源方向,H為像素點X的光源方向與圖像采集設備方向的 中間分量。
[0027] 可選的,所述根據(jù)所述材質(zhì)貼圖參數(shù),生成所述材質(zhì)的不同渲染需求對應的各個 材質(zhì)貼圖之后,還包括:
[0028] 利用預先生成的標準材質(zhì)的標準材質(zhì)貼圖參數(shù),校正計算得到的所述材質(zhì)的材質(zhì) 貼圖參數(shù)。
[0029] 可選的,每一個模型面的渲染需求中包括鏡面反射信息、漫反射信息、法向量信息 和尚光?目息;
[0030] 所述材質(zhì)貼圖庫中存儲有每一材質(zhì)對應的鏡面反射材質(zhì)貼圖、漫反射材質(zhì)貼圖、 法向量材質(zhì)貼圖和高光材質(zhì)貼圖。
[0031 ]為達到上述目的,本發(fā)明實施例公開了一種虛擬對象渲染裝置,所述裝置包括:
[0032]信息獲得模塊,用于獲得待渲染對象的材質(zhì)和各個模型面的渲染需求;
[0033]貼圖選擇模塊,用于根據(jù)所述待渲染對象的材質(zhì),從預先建立的材質(zhì)貼圖庫中選 擇與每一個模型面的渲染需求相對應的材質(zhì)貼圖,其中,所述材質(zhì)貼圖庫中存儲有每一材 質(zhì)的不同渲染需求對應的材質(zhì)貼圖;
[0034]渲染模塊,用于根據(jù)所選擇的各個材質(zhì)貼圖對每一模型面進行渲染,進而完成對 所述待渲染對象的渲染。
[0035] 可選的,還包括材質(zhì)貼圖庫建立模塊,所述材質(zhì)貼圖庫建立模塊包括:圖像獲得子 模塊、貼圖參數(shù)計算子模塊、材質(zhì)貼圖生成子模塊;其中,
[0036] 所述圖像獲得子模塊,用于利用顯示器作為面光源,基于傅里葉變換模擬出不同 形狀的光照圖案,并利用單相機獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像;
[0037]所述貼圖參數(shù)計算子模塊,用于根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對 應的光照圖案以及相機位置,利用非線性優(yōu)化方法計算所述材質(zhì)基于不同渲染需求的材質(zhì) 貼圖參數(shù);
[0038] 所述材質(zhì)貼圖生成子模塊,用于根據(jù)所述材質(zhì)貼圖參數(shù),生成所述材質(zhì)的不同渲 染需求對應的各個材質(zhì)貼圖。
[0039] 可選的,所述貼圖參數(shù)計算子模塊,包括:聚類單元、像素點確定單元、第一貼圖參 數(shù)計算單元、第二貼圖參數(shù)計算單元;其中,
[0040] 所述聚類單元,用于依據(jù)像素點的像素值,利用預設的聚類算法,對所述各個樣本 圖像中的全部像素點進行聚類處理,獲得聚類后的類別;
[0041] 所述像素點確定單元,用于按照預設的像素點遍歷規(guī)則,確定每一類別中的第一 個像素點;
[0042] 所述第一貼圖參數(shù)計算單元,用于根據(jù)各個樣本圖像的圖像信息、各個樣本圖像 對應的光照圖案以及相機位置,利用非線性優(yōu)化方法,計算每一類別中第一個像素點的材 質(zhì)貼圖參數(shù);
[0043] 所述第二貼圖參數(shù)計算單元,用于根據(jù)每一類別中其他像素點與第一個像素點的 亮度比值,計算其他像素點的權(quán)重系數(shù),并根據(jù)所述每一類中第一個像素點的材質(zhì)貼圖參 數(shù)計算其他像素點的材質(zhì)貼圖參數(shù)。
[0044]可選的,所述圖像獲得子模塊,具體用于:
[0045] 利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利用單 相機,采集所述材質(zhì)在每一預設光源顏色的不同光照強度下的各個樣本圖像。
[0046] 可選的,所述材質(zhì)貼圖參數(shù)包括:漫反射系數(shù)、鏡面反射系數(shù)、法向量、高光系數(shù);
[0047] 所述第一貼圖參數(shù)計算單元,具體用于:
[0048]根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,并 按照以下表達式計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),
[0049]
[0050] 其中,V(x)= Pd (X) · Dot (N(x),L)+Ps (X) · pow( (Dot (N(x),H),g(x) )· Dot (N(x), U,I(x)為所述各個樣本圖像中與第一個像素點坐標相同的像素點x的像素值,Pd(x)為像 素點X的漫反射系數(shù),Ps(X)為像素點X的鏡面反射系數(shù),N(X)為像素點X的法向量,g(x)為像 素點X的高光系數(shù),L為像素點X的光源方向,H為像素點X的光源方向與圖像采集設備方向的 中間分量。
[0051 ]可選的,還包括:貼圖參數(shù)校正模塊,用于:
[0052]在所述材質(zhì)貼圖生成子模塊根據(jù)所述材質(zhì)貼圖參數(shù)獲得與所述材質(zhì)的不同渲染 需求對應的各個材質(zhì)貼圖之后,利用預先生成的標準材質(zhì)的標準材質(zhì)貼圖參數(shù),校正計算 得到的所述材質(zhì)的材質(zhì)貼圖參數(shù)。
[0053] 可選的,每一個模型面的渲染需求中包括鏡面反射信息、漫反射信息、法向量信息 和尚光?目息;
[0054] 所述材質(zhì)貼圖庫中存儲有每一材質(zhì)對應的鏡面反射材質(zhì)貼圖、漫反射材質(zhì)貼圖、 法向量材質(zhì)貼圖和高光材質(zhì)貼圖。
[0055] 本發(fā)明實施例提供一種虛擬對象渲染方法及裝置。在進行虛擬對象渲染時,首先 獲得待渲染對象的材質(zhì)和各個模型面的渲染需求,然后根據(jù)待渲染對象的材質(zhì),從預先建 立的材質(zhì)貼圖庫中選擇與每一個模型面的渲染需求相對應的材質(zhì)貼圖,最后根據(jù)所選擇的 各個材質(zhì)貼圖對每一模型面進行渲染,進而完成對所述待渲染對象的渲染。應用本發(fā)明實 施例提供的方法進行虛擬對象渲染時,利用預先根據(jù)真實材質(zhì)得到的材質(zhì)貼圖進行渲染, 而無需采用美工繪制的方式,提高了虛擬對象渲染的效果,提高了虛擬場景的真實感。
【附圖說明】
[0056] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0057]圖1為本發(fā)明實施例提供的一種虛擬對象渲染方法的流程示意圖;
[0058]圖2為本發(fā)明實施例提供的一種虛擬對象渲染裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0059] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0060] 如圖1所示,為本發(fā)明實施例提供的一種虛擬對象渲染方法的流程示意圖,該方法 可以包括以下步驟:
[0061] 步驟S101:獲得待渲染對象的材質(zhì)和各個模型面的渲染需求。
[0062] 材質(zhì),可以理解成材料和質(zhì)感的結(jié)合,其表面具有特定的可視屬性,簡而言之,就 是物體看起來是什么質(zhì)地。這些可視屬性是指表面的色彩、紋理、光滑度、透明度、反射率、 折射率、發(fā)光度等。
[0063] 對于不同的材質(zhì)而言,往往具有不同的可視屬性,因此,對不同材質(zhì)的模型面進行 渲染時的渲染需求也往往是不同的。
[0064] 這里提及的"渲染需求",為用于指示如何對待渲染對象進行渲染的信息。
[0065] 需要說明的是,本領域內(nèi)的技術(shù)人員可以根據(jù)實際應用中的具體情況,合理設定 針對待渲染對象的渲染需求。
[0066] -種實現(xiàn)方式中,每一個模型面的渲染需求中具體可以包括:鏡面反射信息、漫反 射信息、法向量信息和高光信息。舉例而言,對于鏡面渲染效果而言,渲染需求可以包括:鏡 面反射信息和法向量;對于漫反射渲染效果而言,渲染需求可以包括:漫反射信息和法向 量,需要說明的是,這里僅僅是列舉了幾種具體的渲染需求,當然還可以有其他的渲染需 求,在此不再一一列舉。
[0067]當然,實際應用中,每一模型面的渲染需求還可以包括除上述列舉的四種渲染需 求以外的其他信息,本發(fā)明實施例不需要對渲染需求的具體內(nèi)容進行限定。
[0068]步驟S102:根據(jù)待渲染對象的材質(zhì),從預先建立的材質(zhì)貼圖庫中選擇與每一個模 型面的渲染需求相對應的材質(zhì)貼圖。
[0069] 其中,材質(zhì)貼圖庫中存儲有每一材質(zhì)的不同渲染需求對應的材質(zhì)貼圖。
[0070] 需要說明的是,材質(zhì)貼圖庫中存儲有多種材質(zhì)的材質(zhì)貼圖,每一材質(zhì)又可以包括 多種材質(zhì)貼圖,每一材質(zhì)貼圖與每一材質(zhì)的具體渲染需求是一一對應的。舉例而言,若用于 指示如何對材質(zhì)A進行渲染的渲染需求中包括:鏡面反射信息和法向量,則材質(zhì)貼圖庫中材 質(zhì)A應該至少包括:鏡面反射材質(zhì)貼圖和法向量材質(zhì)貼圖。
[0071] -種實現(xiàn)方式中,材質(zhì)貼圖庫中存儲有每一材質(zhì)對應的鏡面反射材質(zhì)貼圖、漫反 射材質(zhì)貼圖、法向量材質(zhì)貼圖和高光材質(zhì)貼圖。當然,這里僅僅是舉例說明而已,材質(zhì)貼圖 庫中所存儲的每一材質(zhì)對應的材質(zhì)貼圖還可以包括除所列舉的這四種材質(zhì)貼圖以外的貼 圖。但是,材質(zhì)貼圖庫中每一材質(zhì)所對應的材質(zhì)貼圖至少需要包括與步驟SlOl中所提及的 渲染需求中的每一具體渲染需求對應的材質(zhì)貼圖。
[0072] 在本發(fā)明的一種具體實施例中,可以通過以下方式建立材質(zhì)貼圖庫:
[0073] (11)利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利 用單相機獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像。
[0074] 具體來說,獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像,可以按照以下方 式進行:采集預設的材質(zhì)在每一預設光源顏色的不同光照強度下的各個樣本圖像,其中,光 源形狀可變。
[0075] 這里提及的預設光源顏色的不同光照強度,是指在進行樣本圖像的采集過程中, 光源的顏色可以是不同的,例如,白色光源、藍色光源、紅色光源等等,另外,即使是使用同 樣顏色的光源,例如白色光源,光照強度也可以是不同的,例如,白色強光、白色弱光等等。
[0076] 需要說明的是,之所以采集不同光照條件下的樣本圖像,目的是為了增加預設的 材質(zhì)的樣本的多樣性,以保證進行后續(xù)處理時能夠得到較準確的材質(zhì)貼圖。
[0077] -種實現(xiàn)方式中,預設光源可以為面光源,實際應用中,可以用液晶顯示器來模擬 不同光照條件的光源,這樣能夠大大降低真實光源的成本,且應用起來比較便捷。當然,這 里僅僅是舉例說明,本發(fā)明實施例并不需要對預設光源的顏色和光照強度進行限定,本領 域內(nèi)的技術(shù)人員需要根據(jù)實際應用中的具體情況進行合理的設置。
[0078] (12)根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位 置,利用非線性優(yōu)化方法計算該材質(zhì)基于不同渲染需求的材質(zhì)貼圖參數(shù)。
[0079]材質(zhì)貼圖參數(shù),是指用于對待渲染對象進行渲染的材質(zhì)貼圖的具體數(shù)值,材質(zhì)貼 圖參數(shù)中可以包括多種具體的參數(shù),且每一材質(zhì)貼圖的具體參數(shù)與每一渲染需求中的具體 渲染需求是一一對應的。舉例而言,針對渲染需求中的鏡面反射信息而言,材質(zhì)貼圖參數(shù)中 有鏡面反射貼圖參數(shù)與其對應。進一步來講,渲染需求、材質(zhì)貼圖和材質(zhì)貼圖參數(shù)中所包括 的具體內(nèi)容均是一一對應的,例如,鏡面反射信息(屬于渲染需求)、鏡面反射材質(zhì)貼圖(屬 于材質(zhì)貼圖)、和鏡面反射材質(zhì)貼圖參數(shù)(屬于材質(zhì)貼圖參數(shù))兩兩之間均是一一對應的關(guān) 系。
[0080] 具體的,通過以下步驟,獲得材質(zhì)基于每一渲染需求的材質(zhì)貼圖參數(shù):
[0081] (12-1)依據(jù)像素點的像素值,利用預設的聚類算法,對各個樣本圖像中的全部像 素點進行聚類處理,獲得聚類后的類別。
[0082] 這里提及的預設的聚類算法可以是現(xiàn)有技術(shù)中常用的聚類算法,例如,K-means聚 類算法,這里不再對現(xiàn)有技術(shù)中的聚類算法進行描述。
[0083]另外,對于聚類后的類別的數(shù)目可以由本領域內(nèi)的技術(shù)人員根據(jù)實際應用中的具 體情況進行合理的設置,本發(fā)明并不需要對此進行限定。
[0084] (12-2)按照預設的像素點遍歷規(guī)則,確定每一類別中的第一個像素點。
[0085] -種實現(xiàn)方式中,可以按照所采集的樣本圖像的順序,針對每一樣本圖像按照逐 行掃描的方式進行遍歷,當掃描到與聚類后的類別相同的像素點時,確定定該像素點為該 類別中的第一個像素點,然后,再進行下一個類別的掃描。
[0086] 舉例而言,假設按照采集順序分別采集了I^I2和I3三張樣本圖像,聚類后的類別 SC 1X2。首先,將&確定為當前類別,從I1開始掃描圖像,當掃描到^中坐標為(2,3)像素點 時,掃描到與C 1類別相同的像素點P1,則將像素點P1確定為(^類別的第一個像素點;然后再 將C 2確定為當前類別,按照同樣的掃描方式進行掃描,當掃描到當掃描到I2中坐標為(5,6) 像素點時,掃描到與C 2類別相同的像素點P2,則將像素點P2確定為(:2類別的第一個像素點, 遍歷結(jié)束。
[0087] 另一種實現(xiàn)方式中,可以按照聚類后的類別進行,針對每一類別中的像素點的聚 類順序進行遍歷,當掃描到與聚類后的類別相同的像素點時,確定該像素點為該類別中的 第一個像素點,然后,再進行下一個類別的掃描。
[0088] 舉例而言,同樣假設聚類后的類別為C1X2,其中,C沖包括Pn、P12、P 13和P14四個像 素點,C2中包括P21、P 22、P23和P24四個像素點。首先,將&確定為當前類別,從&類別開始掃描, 當掃描到像素點P 12時,掃描到與C1類別相同的像素點,則將像素點P12確定為C1類別的第一 個像素點;然后再將(: 2確定為當前類別,按照同樣的掃描方式進行掃描,當掃描到當掃描到 像素點P23時,掃描到與C 2類別相同的像素點,則將像素點P23確定為&類別的第一個像素點, 遍歷結(jié)束。
[0089]需要說明的是,上述列舉的兩種實現(xiàn)方式僅僅是舉例說明而已,本發(fā)明實施例不 需要對具體的像素點遍歷規(guī)則進行限定,任何可能的實現(xiàn)方式均可以應用于本發(fā)明。
[0090] (12-3)根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位 置,利用非線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù)。
[0091] -種實現(xiàn)方式中,材質(zhì)貼圖參數(shù)可以包括:漫反射系數(shù)、鏡面反射系數(shù)、法向量、高 光系數(shù);
[0092] 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,利 用非線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),可以包括:
[0093]根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,并 按照以下表達式計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),
[0094]
[0095] 其中,¥(叉)=卩(](叉)*〇〇1:(1^(叉)丄)+03(叉)*卩〇¥((〇〇1:(1^(叉),!〇,區(qū)(叉))*〇〇1:(1^(叉), U,I (x)為各個樣本圖像中與第一個像素點坐標相同的像素點x的像素值,Pd(x)為像素點x 的漫反射系數(shù),Ps(X)為像素點X的鏡面反射系數(shù),N(X)為像素點X的法向量,g(x)為像素點X 的高光系數(shù),L為像素點X的光源方向,H為像素點X的光源方向與圖像采集設備方向的中間 分量。
[0096] -種實現(xiàn)方式中,可以按照以下方式獲得像素點的光源方向L、像素點的光源方向 與圖像采集設備方向的中間分量H:
[0097]按照預設的圖像校正規(guī)則,對獲取的各個樣本圖像進行圖像校正;
[0098]根據(jù)圖像校正的數(shù)據(jù)計算光源方向L、中間分量H。
[0099]需要說明的是,這里所提及的像素點的光源方向L、像素點的光源方向與圖像采集 設備方向的中間分量H與樣本圖像采集時的硬件的位置關(guān)系有關(guān),實際應用中,除了可以通 過上面提及的通過圖像校正的方式來獲得光源方向L和中間分量H的方式以為,還可以利用 其它方式,例如借助測量儀器手動測量等等。當然,本發(fā)明實施例并不需要對光源方向L和 中間分量H的獲得方式進行限定,任何可能的實現(xiàn)方式均可以應用于本發(fā)明。
[0100] (12-4)根據(jù)每一類別中其他像素點與第一個像素點的亮度比值,計算其他像素點 的權(quán)重系數(shù),并根據(jù)每一類中第一個像素點的材質(zhì)貼圖參數(shù)計算其他像素點的材質(zhì)貼圖參 數(shù)。
[0101] 可以看出,在獲得材質(zhì)貼圖參數(shù)的過程中,實際上僅僅對聚類后所確定的屬于每 一類別的第一個像素點的材質(zhì)貼圖參數(shù)進行了相關(guān)計算,而對于每一類別中除第一個像素 點以為的其他材質(zhì)貼圖參數(shù)僅僅是復制了同類別中的第一個像素點的材質(zhì)貼圖參數(shù),由于 圖像數(shù)據(jù)中像素點通常都是成千上萬的,因此,利用由步驟(12-1)至步驟(12-4)提供的方 法,大大降低了計算材質(zhì)貼圖參數(shù)的計算量。
[0102] (13)根據(jù)該材質(zhì)貼圖參數(shù),生成該材質(zhì)的不同渲染需求對應的各個材質(zhì)貼圖。
[0103] -種實現(xiàn)方式中,步驟(13)根據(jù)材質(zhì)貼圖參數(shù)獲得與材質(zhì)的不同渲染需求對應的 各個材質(zhì)貼圖之后,還可以包括:
[0104] (14)利用預先生成的標準材質(zhì)的標準材質(zhì)貼圖參數(shù),校正計算得到的材質(zhì)貼圖參 數(shù)。
[0105] 通過利用標準材質(zhì)的標準材質(zhì)貼圖參數(shù)對計算得到的材質(zhì)貼圖參數(shù)的校正,能夠 盡可能的對計算失真的材質(zhì)貼圖參數(shù)進行修正,這樣進一步保證了材質(zhì)貼圖參數(shù)的準確程 度和真實感。
[0106] 步驟S103:根據(jù)所選擇的各個材質(zhì)貼圖對每一模型面進行渲染,進而完成對待渲 染對象的渲染。
[0107]應用本發(fā)明實施例提供的方法進行虛擬對象渲染時,利用預先根據(jù)真實材質(zhì)得到 的材質(zhì)貼圖進行渲染,而無需采用美工繪制的方式,提高了虛擬對象渲染的效果,提高了虛 擬場景的真實感。
[0108]進一步的,現(xiàn)有技術(shù)中采用美工繪制的方式獲得材質(zhì)貼圖,即使是對于相同材質(zhì) 的同一材質(zhì)貼圖仍需要美工繪制一次,而本發(fā)明實施例提供的方案進行虛擬對象渲染時, 對每一模型面進行渲染所利用的各個材質(zhì)貼圖是從預先建立的材質(zhì)貼圖庫中選擇得到的, 當材質(zhì)貼圖庫建立以后,僅僅是選擇合適的材質(zhì)貼圖進行渲染即可,無需再次進行美工繪 制或建立材質(zhì)貼圖庫,因此,大大降低了虛擬對象渲染的工作量,提高了虛擬對象渲染的效 率。
[0109] 如圖2所示,為本發(fā)明實施例提供的一種虛擬對象渲染裝置的結(jié)構(gòu)示意圖,該裝置 可以包括以下模塊:
[0110] 信息獲得模塊210,用于獲得待渲染對象的材質(zhì)和各個模型面的渲染需求。
[0111] 貼圖選擇模塊220,用于根據(jù)待渲染對象的材質(zhì),從預先建立的材質(zhì)貼圖庫中選擇 與每一個模型面的渲染需求相對應的材質(zhì)貼圖。
[0112] 其中,材質(zhì)貼圖庫中存儲有每一材質(zhì)的不同渲染需求對應的材質(zhì)貼圖。
[0113] 渲染模塊230,用于根據(jù)所選擇的各個材質(zhì)貼圖對每一模型面進行渲染,進而完成 對待渲染對象的渲染。
[0114] 具體的,還可以包括材質(zhì)貼圖庫建立模塊,材質(zhì)貼圖庫建立模塊可以包括:圖像獲 得子模塊、貼圖參數(shù)計算子模塊、材質(zhì)貼圖生成子模塊。
[0115] 其中,圖像獲得子模塊,用于利用顯示器作為面光源,基于傅里葉變換模擬出不同 形狀的光照圖案,并利用單相機獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像。
[0116] 貼圖參數(shù)計算子模塊,用于根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的 光照圖案以及相機位置,利用非線性優(yōu)化方法計算該材質(zhì)基于不同渲染需求的材質(zhì)貼圖參 數(shù)。
[0117] 材質(zhì)貼圖生成子模塊,用于根據(jù)材質(zhì)貼圖參數(shù),生成該材質(zhì)的不同渲染需求對應 的各個材質(zhì)貼圖。
[0118] 具體的,貼圖參數(shù)計算子模塊,可以包括:聚類單元、像素點確定單元、第一貼圖參 數(shù)計算單元、第二貼圖參數(shù)計算單元。
[0119] 其中,聚類單元,用于依據(jù)像素點的像素值,利用預設的聚類算法,對各個樣本圖 像中的全部像素點進行聚類處理,獲得聚類后的類別。
[0120] 像素點確定單元,用于按照預設的像素點遍歷規(guī)則,確定每一類別中的第一個像 素點。
[0121]第一貼圖參數(shù)計算單元,用于根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應 的光照圖案以及相機位置,利用非線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼 圖參數(shù)。
[0122] 第二貼圖參數(shù)計算單元,用于根據(jù)每一類別中其他像素點與第一個像素點的亮度 比值,計算其他像素點的權(quán)重系數(shù),并根據(jù)每一類中第一個像素點的材質(zhì)貼圖參數(shù)計算其 他像素點的材質(zhì)貼圖參數(shù)。
[0123] 具體的,圖像獲得子模塊,具體用于:
[0124] 利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利用單 相機,采集該材質(zhì)在每一預設光源顏色的不同光照強度下的各個樣本圖像。
[0125] 具體的,材質(zhì)貼圖參數(shù)可以包括:漫反射系數(shù)、鏡面反射系數(shù)、法向量、高光系數(shù)。
[0126] 第一貼圖參數(shù)計算單元,具體用于:
[0127] 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,并 按照以下表達式計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),
[0128]
[0129] 其中,V(x) =Pd(X) · Dot(N(x),L)+ps(x) · pow( (Dot(N(x),H),g(x)) · Dot(N(x), U,I (x)為各個樣本圖像中與第一個像素點坐標相同的像素點x的像素值,Pd(x)為像素點x 的漫反射系數(shù),Ps(X)為像素點X的鏡面反射系數(shù),N(X)為像素點X的法向量,g(x)為像素點X 的高光系數(shù),L為像素點X的光源方向,H為像素點X的光源方向與圖像采集設備方向的中間 分量。
[0130] 具體的,還可以包括:貼圖參數(shù)校正模塊,用于:
[0131] 在材質(zhì)貼圖生成子模塊根據(jù)材質(zhì)貼圖參數(shù)獲得與材質(zhì)的不同渲染需求對應的各 個材質(zhì)貼圖之后,利用預先生成的標準材質(zhì)的標準材質(zhì)貼圖參數(shù),校正計算得到的材質(zhì)的 材質(zhì)貼圖參數(shù)。
[0132] 具體的,每一個模型面的渲染需求中可以包括鏡面反射信息、漫反射信息、法向量 十目息和尚光?目息。
[0133] 材質(zhì)貼圖庫中存儲有每一材質(zhì)對應的鏡面反射材質(zhì)貼圖、漫反射材質(zhì)貼圖、法向 量材質(zhì)貼圖和高光材質(zhì)貼圖。
[0134] 應用本發(fā)明實施例提供的方法進行虛擬對象渲染時,利用預先根據(jù)真實材質(zhì)得到 的材質(zhì)貼圖進行渲染,而無需采用美工繪制的方式,提高了虛擬對象渲染的效果,提高了虛 擬場景的真實感。
[0135] 進一步的,現(xiàn)有技術(shù)中采用美工繪制的方式獲得材質(zhì)貼圖,即使是對于相同材質(zhì) 的同一材質(zhì)貼圖仍需要美工繪制一次,而本發(fā)明實施例提供的方案進行虛擬對象渲染時, 對每一模型面進行渲染所利用的各個材質(zhì)貼圖是從預先建立的材質(zhì)貼圖庫中選擇得到的, 當材質(zhì)貼圖庫建立以后,僅僅是選擇合適的材質(zhì)貼圖進行渲染即可,無需再次進行美工繪 制或建立材質(zhì)貼圖庫,因此,大大降低了虛擬對象渲染的工作量,提高了虛擬對象渲染的效 率。
[0136] 對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān) 之處參見方法實施例的部分說明即可。
[0137] 需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實 體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存 在任何這種實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋 非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要 素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備 所固有的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在 包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0138] 本領域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中, 這里所稱得的存儲介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0139] 以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍 內(nèi)。
【主權(quán)項】
1. 一種虛擬對象渲染方法,其特征在于,所述方法包括: 獲得待渲染對象的材質(zhì)和各個模型面的渲染需求; 根據(jù)所述待渲染對象的材質(zhì),從預先建立的材質(zhì)貼圖庫中選擇與每一個模型面的渲染 需求相對應的材質(zhì)貼圖,其中,所述材質(zhì)貼圖庫中存儲有每一材質(zhì)的不同渲染需求對應的 材質(zhì)貼圖; 根據(jù)所選擇的各個材質(zhì)貼圖對每一模型面進行渲染,進而完成對所述待渲染對象的渲 染。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,通過以下方式建立所述材質(zhì)貼圖庫: 利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利用單相機 獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像; 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,利用非 線性優(yōu)化方法計算所述材質(zhì)基于不同渲染需求的材質(zhì)貼圖參數(shù); 根據(jù)所述材質(zhì)貼圖參數(shù),生成所述材質(zhì)的不同渲染需求對應的各個材質(zhì)貼圖。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)各個樣本圖像的圖像信息、各個 樣本圖像對應的光照圖案以及相機位置,利用非線性優(yōu)化方法計算所述材質(zhì)基于不同渲染 需求的材質(zhì)貼圖參數(shù),包括: 通過以下步驟,計算所述材質(zhì)基于不同渲染需求的材質(zhì)貼圖參數(shù): 依據(jù)像素點的像素值,利用預設的聚類算法,對所述各個樣本圖像中的全部像素點進 行聚類處理,獲得聚類后的類別; 按照預設的像素點遍歷規(guī)則,確定每一類別中的第一個像素點; 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,利用非 線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù); 根據(jù)每一類別中其他像素點與第一個像素點的亮度比值,計算其他像素點的權(quán)重系 數(shù),并根據(jù)所述每一類中第一個像素點的材質(zhì)貼圖參數(shù)計算其他像素點的材質(zhì)貼圖參數(shù)。4. 根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述利用顯示器作為面光源,基于傅里 葉變換模擬出不同形狀的光照圖案,并利用單相機獲取預設的材質(zhì)在不同光照條件下的各 個樣本圖像,包括: 利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利用單相機, 采集所述材質(zhì)在每一預設光源顏色的不同光照強度下的各個樣本圖像。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述材質(zhì)貼圖參數(shù)包括:漫反射系數(shù)、鏡面 反射系數(shù)、法向量、高光系數(shù); 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,利用非 線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),包括: 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,并按照 以下表達式計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),其中,V(x)=Pd(x) ·Οο?(Ν(χ),υ+ρ;?(χ) ·ρ〇¥((Οο?(Ν(χ),Η)Α(χ)) ·Οο?(Ν(χ),υ,Ι (x)為所述各個樣本圖像中與第一個像素點坐標相同的像素點x的像素值,Pd (χ)為像素點χ 的漫反射系數(shù),ps(x)為像素點X的鏡面反射系數(shù),N(x)為像素點x的法向量,g(x)為像素點x 的高光系數(shù),L為像素點X的光源方向,Η為像素點X的光源方向與圖像采集設備方向的中間 分量。6. 根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述根據(jù)所述材質(zhì)貼圖參數(shù),生成所述 材質(zhì)的不同渲染需求對應的各個材質(zhì)貼圖之后,還包括: 利用預先生成的標準材質(zhì)的標準材質(zhì)貼圖參數(shù),校正計算得到的所述材質(zhì)的材質(zhì)貼圖 參數(shù)。7. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 每一個模型面的渲染需求中包括鏡面反射信息、漫反射信息、法向量信息和高光信息; 所述材質(zhì)貼圖庫中存儲有每一材質(zhì)對應的鏡面反射材質(zhì)貼圖、漫反射材質(zhì)貼圖、法向 量材質(zhì)貼圖和高光材質(zhì)貼圖。8. -種虛擬對象渲染裝置,其特征在于,所述裝置包括: 信息獲得模塊,用于獲得待渲染對象的材質(zhì)和各個模型面的渲染需求; 貼圖選擇模塊,用于根據(jù)所述待渲染對象的材質(zhì),從預先建立的材質(zhì)貼圖庫中選擇與 每一個模型面的渲染需求相對應的材質(zhì)貼圖,其中,所述材質(zhì)貼圖庫中存儲有每一材質(zhì)的 不同渲染需求對應的材質(zhì)貼圖; 渲染模塊,用于根據(jù)所選擇的各個材質(zhì)貼圖對每一模型面進行渲染,進而完成對所述 待渲染對象的渲染。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括材質(zhì)貼圖庫建立模塊,所述材質(zhì)貼 圖庫建立模塊包括:圖像獲得子模塊、貼圖參數(shù)計算子模塊、材質(zhì)貼圖生成子模塊;其中, 所述圖像獲得子模塊,用于利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀 的光照圖案,并利用單相機獲取預設的材質(zhì)在不同光照條件下的各個樣本圖像; 所述貼圖參數(shù)計算子模塊,用于根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的 光照圖案以及相機位置,利用非線性優(yōu)化方法計算所述材質(zhì)基于不同渲染需求的材質(zhì)貼圖 參數(shù); 所述材質(zhì)貼圖生成子模塊,用于根據(jù)所述材質(zhì)貼圖參數(shù),生成所述材質(zhì)的不同渲染需 求對應的各個材質(zhì)貼圖。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述貼圖參數(shù)計算子模塊,包括:聚類單 元、像素點確定單元、第一貼圖參數(shù)計算單元、第二貼圖參數(shù)計算單元;其中, 所述聚類單元,用于依據(jù)像素點的像素值,利用預設的聚類算法,對所述各個樣本圖像 中的全部像素點進行聚類處理,獲得聚類后的類別; 所述像素點確定單元,用于按照預設的像素點遍歷規(guī)則,確定每一類別中的第一個像 素點; 所述第一貼圖參數(shù)計算單元,用于根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應 的光照圖案以及相機位置,利用非線性優(yōu)化方法,計算每一類別中第一個像素點的材質(zhì)貼 圖參數(shù); 所述第二貼圖參數(shù)計算單元,用于根據(jù)每一類別中其他像素點與第一個像素點的亮度 比值,計算其他像素點的權(quán)重系數(shù),并根據(jù)所述每一類中第一個像素點的材質(zhì)貼圖參數(shù)計 算其他像素點的材質(zhì)貼圖參數(shù)。11. 根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述圖像獲得子模塊,具體用于: 利用顯示器作為面光源,基于傅里葉變換模擬出不同形狀的光照圖案,并利用單相機, 采集所述材質(zhì)在每一預設光源顏色的不同光照強度下的各個樣本圖像。12. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述材質(zhì)貼圖參數(shù)包括:漫反射系數(shù)、鏡 面反射系數(shù)、法向量、高光系數(shù); 所述第一貼圖參數(shù)計算單元,具體用于: 根據(jù)各個樣本圖像的圖像信息、各個樣本圖像對應的光照圖案以及相機位置,并按照 以下表達式計算每一類別中第一個像素點的材質(zhì)貼圖參數(shù),其中,V(x)=Pd(x) ·Οο?(Ν(χ),υ+ρ;?(χ) ·ρ〇¥((Οο?(Ν(χ),Η)Α(χ)) ·Οο?(Ν(χ),υ,Ι (x)為所述各個樣本圖像中與第一個像素點坐標相同的像素點x的像素值,Pd (χ)為像素點χ 的漫反射系數(shù),Ps(x)為像素點X的鏡面反射系數(shù),N(x)為像素點X的法向量,g(x)為像素點X 的高光系數(shù),L為像素點χ的光源方向,Η為像素點χ的光源方向與圖像采集設備方向的中間 分量。13. 根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,還包括:貼圖參數(shù)校正模塊,用于: 在所述材質(zhì)貼圖生成子模塊根據(jù)所述材質(zhì)貼圖參數(shù)獲得與所述材質(zhì)的不同渲染需求 對應的各個材質(zhì)貼圖之后,利用預先生成的標準材質(zhì)的標準材質(zhì)貼圖參數(shù),校正計算得到 的所述材質(zhì)的材質(zhì)貼圖參數(shù)。14. 根據(jù)權(quán)利要求8所述的裝置,其特征在于, 每一個模型面的渲染需求中包括鏡面反射信息、漫反射信息、法向量信息和高光信息; 所述材質(zhì)貼圖庫中存儲有每一材質(zhì)對應的鏡面反射材質(zhì)貼圖、漫反射材質(zhì)貼圖、法向 量材質(zhì)貼圖和高光材質(zhì)貼圖。
【文檔編號】G06T15/00GK106056658SQ201610349066
【公開日】2016年10月26日
【申請日】2016年5月23日
【發(fā)明人】崔樹林, 楊林, 武韜, 郭煒煒, 吳云, 黃衫
【申請人】珠海金山網(wǎng)絡游戲科技有限公司