吳德道,劉小平
(1.南昌大學信息工程學院,江西 南昌 330031;2.景德鎮陶瓷大學,江西 景德鎮 333000;3.卡爾頓大學系統與計算機工程系,渥太華 加拿大 K1S 5B6)
光線在虛擬手術中的場景視覺表現,不僅在軟組織表面發生反射,還會產生散射,并可能進入軟組織內部,光線在這類材質的物體中傳輸會經過一次或多次的散射,最終可能從某個難以預知的出射點射出,也可能在軟組織內被吸收。通常人們稱這種光線發生散射、吸收及衰減的現象為次表面散射(Sub-Surface Scattering,SSS)。為了表現這類半透明物體的次表面散射,眾多學者進行了一系列的研究。準確渲染半透明材料如皮膚表皮需要求解次表面散射方程,一種常用解析方法是用擴散理論[1]。Munoz[2]提出基于單獨圖片的方法模擬BSSRDF,實現了一部分半透明材質的真實感模擬。Jensen等[3-4]利用擴散理論得到了BSSRDF的偶極擴散近似,Donner和Jensen[5]將偶極近似擴展到一個多極模型,該模型能更好地模擬多層材料中的光傳輸,因此比較適合包括皮膚等半透明材料外觀的視覺呈現。他們利用一種近似多層材料擴散剖面的方法并使用測量到的散射參數計算了一個完整的三層人體皮膚模型。利用擴散剖面,模擬次表面散射相當于根據剖面的精確形狀將入射漫射光散射到鄰近位置。這將呈現一個逼真的軟組織半透明的外觀。但是偶極子和多極子模型對于實時應用來說代價消耗巨大。
D’Eon[6,7]觀察到偶極子和多極子模型預測的擴散剖面可以近似為高斯分布的加權和,從而可以實時計算次表面散射。因此,每個擴散剖面都可以近似為高斯卷積的線性組合。次表面散射方程中的BSSRDF實際上表達了與徑向對稱不可分離擴散剖面R(r)的二維表面卷積[7]。在紋理空間擴散[8-9]中,通過將輻照度光柵化到紋理中,對該紋理應用卷積操作,并將結果映射回網格來模擬這個過程。雖然紋理空間擴散近似提供了實時視覺呈現,但存在一些缺點。如運行緩慢,為每一個半透明的物體在每一幀上計算一系列的輻照度卷積紋理代價相對昂貴,屏幕上有多個對象的情況下性能迅速下降。為了解決這些問題,Jimenez[11-12]提出將擴散近似的評估從紋理空間轉化為屏幕空間,并將二維擴散核分解為兩個一維核,避免了卷積紋理計算的開銷,實現了實時呈現效果。
針對人體軟組織在真實環境光照下的散色、透射及次表面散射不確定的特點,本文提出了采用表面反射和次表面散射兩種光照模型組合的解決方法來模擬人體肝臟的真實光照表現。首先采用Kelemen/Szirmay-Kalos高光BRDF[13]計算鏡面反射,這是對Cook-Torrance反射模型的近似[14],考慮了來自各個方向的入射環境光,除了從陰影映射中提取單個樣本外,還檢索了最近的四個樣本。然后對所有深度測試的結果進行雙線性插值,以確定光源可見樣本的百分比。為了實現實時呈現效果,利用擴散剖面對輻照度進行二維卷積,近似為高斯和并將二維擴散核分解為兩個一維核,避免了卷積紋理計算的開銷。通過結合D’Eon等提出的變體紋理空間[6-7]和Jimenez等的屏幕空間半透明技術[15]實現肝臟組織邊緣較薄處透射的效果。實驗結果表明,能逼真地模擬出人體肝臟的視覺外觀,且能保證模型在復雜渲染算法情況下的實時效率。
在軟組織次表面光照效果的研究中,本文主要利用了求解次表面散射方程來準確渲染,以下是對有限介質傳輸方程[16]的簡化:
(1)
當積分同時在A區域(被渲染表面上的點)和入射方向w上時,S(p,q,v,l)是一個雙向表面散射反射分布函數(BSSRDF)。這個函數將BRDF擴展到考慮光從表面進入的位置以外的其他位置的光,并給出了從位置p輻射到觀察方向v的光在位置q處從l方向入射光的比例:
(2)
通過使用BSSRDF而不是BRDF,我們能夠獲得一個柔和的軟組織外觀。求解次表面散射方程的一種常用解析方法是用擴散理論[1]。Jensen等[3-4]利用擴散理論得到了BSSRDF的偶極擴散近似,該近似僅依賴于材料的散射特性,任意兩點p和q處的菲涅耳透射率Ft以及這兩點之間的距離存在以下關系:
(3)
上式中R(*)是材料的擴散剖面,菲涅耳透射率描述了光從一種介質傳輸到另一種介質的量。1/π項描述的是射入的光量,它在p點周圍的半球上向一個方向v反射。Donner和Jensen[5]將偶極近似擴展到一個多極模型并能模擬多層材料中的光傳輸,因此比較適合皮膚外觀的視覺呈現。利用擴散剖面模擬次表面散射相當于根據剖面的精確形狀將入射漫反射光散射到鄰近位置而產生柔和半透明的外觀,但偶極子和多極子模型對于實現實時效果的系統帶來巨大的負擔。
(1)D’Eon[6-7]觀察到偶極和多極模型預測的擴散剖面可以近似為高斯分布的加權和,從而可以實時計算次表面散射。從擴散剖面R(r)到高斯和的映射需要為k個高斯項找到合適的權值wi和方差vi:
(4)
上式中高斯項定義如下:
(5)
常數1/2πv保證每個高斯函數都有單位總擴散響應,即高斯函數下的總面積等于1:
(6)
因此,每個擴散剖面都可以近似為高斯卷積的線性組合。D’Eon等發現四種高斯分布足以對大多數單層材料進行建模,并對Donner和Jensen的高加索皮膚三層模型提出了六個高斯項分布擬合,如表1所示,每個面的高斯權值之和為1,因為皮膚的顏色是由顏色映射定義的,而不是嵌入到擴散面本身。D’Eon等描述了紅色通道的六個高斯信號也可以準確地用于綠色和藍色通道,從而降低成本。

表1 六高斯項擬合三層皮膚模型[6]
次表面散射方程中的BSSRDF實際上表達了與徑向對稱不可分離擴散剖面R(r)的二維表面卷積[7]。在紋理空間擴散中[8-9],通過將輻照度光柵化到紋理中,對該紋理應用卷積操作,并將結果映射回網格來模擬這個過程。理想形狀的模糊過濾器完全符合材料的擴散剖面。雖然精確的擴散剖面可以直接通過昂貴的二維卷積來計算,但是d’Eon等利用高斯函數的可分離性將其簡化為一組代價更小的一維卷積。通過將不可分離的擴散剖面表示為高斯和,可以對輻照度卷積進行分層和分離評價,得到一系列具有越來越寬模糊核的卷積輻照度紋理。這些卷積紋理的加權和然后近似的卷積輻照度的原始擴散剖面。結合采樣的反照率和次表面散射將產生最終的半透明材料色調。
(2)次表面散射可以由反射和透射組成。當入射光進入材料的距離足夠遠,其中的一小部分會從材料的另一端出去時,就會發生透射。材料的確切性質將決定光在材料中傳播的距離和擴散。因為皮膚有相對較高的吸收因子和平均散射因子,所以它既不是透明也不是不透明,而是半透明的。有些光可以通過耳朵和鼻子等皮膚的薄層甚至人體肝臟邊緣,但只能以高度擴散的形式通過。在離線渲染領域,目前已有各種將半透明效果納入材質呈現的方法中,Donner和Jensen推導出了計算透射剖面和反射剖面的方程[5]。對于實時渲染,一種考慮透射的方法是使用修改后的陰影貼圖。Jimenez實現了屏幕空間半透明技術[15],該技術基于d’Eon提出的變體紋理空間[6-7]。


(7)
卷積核R(r)的計算與前面一樣使用高斯和近似:
(8)
其中d=mcosθ是物體的局部厚度(如圖1)。

對肝臟進行圖像三維重建后所得的數字化模型,如圖2所示,可觀察到對比實物原圖2(a),重建三維模型圖2(b)~(d)表面色澤真實感表現相對較不自然,這是由于模型表面紋理貼圖是圖像序列加權平均得到的,且模型表面不含任何光照信息。為復原真實肝臟所具有的光感表現,首先分析半透明材質中最顯著的次表面散射特性,但是直接用BSSRDF模型進行模擬計算效率太低,故為保證實時渲染效率,采用[18]所提到的多層BRDF模型疊加的方法來模擬半透明模型具有的次表面散射表現。通過分析可知,肝臟組織主要具備高光、表面散射及邊緣組織較薄處透射的物理光學表現,所以,本文提出了兩層光照模型線性疊加的方式來模擬半透明高光效果。
Cook-Torrance模型是一種基于物理的BRDF,它利用微面元理論來確定物體表面的粗糙度,并考慮了菲涅耳反射、微面元定向、微面間的相互遮擋和吸收光線。在d’Eon和Luebke[6]之后,利用Kelemen/Szirmay-Kalos高光BRDF[13]計算鏡面反射,這是對Cook-Torrance反射模型的近似[14],簡化了幾何項(遮擋),使BRDF實時渲染效果更好:
(9)
上式中l是光的方向,v是視場方向,h′=l+v;h=h′/|l+v|,h′是非歸一化半矢量,h是歸一化半矢量。D(n,h)是貝克曼正態分布函數[19],它描述了面向h的微面部分,有助于光從l方向反射到v方向:
(10)
上式中α是n和h之間的夾角,k是粗糙度系數,而F(v,h)是菲涅耳反射項,它描述了每個微面反射的光線數量。為了提高渲染器的性能,采納D’Eon和Luebke[6]的建議,預先計算并渲染Beckmann分布到一個8位的紋理映射中,然后在運行時讀出。利用Schlick’s[20]計算菲涅耳反射項:
FSchlick(F0,l,h)=F0+(1-F0)(1-(l·h)5)
(11)
除了鏡面反射,Kelemen/Szirmay-Kalos BRDF還包括漫反射部分。D’Eon和Leubke[6]描述了一種使用預先計算的紋理來增加節能的方法,而視覺效果可根據應用程序的不同來評估。擴散分量實際上一般被用作非常粗略的物體次表面散射近似[3]。本文選擇使用Lambertian漫反射,因為之后將由一個次表面散射著色器的修改。使用Kelemen/Szirmay-Kalos高光BRDF,從l方向的單光源出發,在點p處向視場方向v的高光強度修改為:
LSpec(p,v)=kSpecDBeckmann(k,n,h)
(12)
上式中kSpec為全局高光強度因子,IL(p,l)為來自光源L的入射光,本文使用了聚光燈,因為它較好地代表了現實生活中的燈光并有一個較簡單的等式:
IL=cL·fattenuation·ffalloff
(13)
上式中cL為以RGB值表示的光的顏色,函數fattenuation和ffalloff根據到光源的距離確定光強,漫反射方程與高光反射方程相似:
Ldiff(p,v)=calbedoIL(p,l)n·l
(14)
上式中calbedo是從提供漫反射物體表面顏色的顏色紋理映射中采樣的RGB值。最后,表面點的鏡面反射和漫反射直接為計算對每個光源的求和。
由于高光的亮度是由兩個因素來決定的:高光強度kSpec和粗糙度系數k。通過從一個雙通道高光紋理中采樣這些量并允許它們在模型的表面變化,從而提高高光部分的逼真度。此外,采樣一個法線貼圖來擾動位于p點的表面法線n,如式(14)所示。像高光貼圖一樣,法線貼圖的添加允許我們改變表面的粗糙度,這樣就可以表現出軟組織表面更多的幾何微觀特征。
雖然紋理空間擴散近似提供了實時視覺呈現,但也存在一些缺點。比如運行緩慢,為每一個半透明的物體在每一幀上計算一系列的輻照度卷積紋理仍然代價相對昂貴,導致在屏幕上有多個對象的情況下性能迅速下降。為了解決這些問題和其他方面的考慮,Jimenez等提出將擴散近似的評估從紋理空間轉化為屏幕空間。在最近的工作中,他們提出了一種可分離屏幕空間擴散近似方法。本文的渲染器實現了[11-12]中描述的次表面散射技術。因為該方法為實時物體表面呈現提供了一種高性能的解決方案,可以很容易地集成為一個后處理著色器。
3.2.1 簡化可分離次表面散射的實現
為了實現實時呈現效果,擴散剖面對輻照度進行二維卷積,近似為高斯和。Jimenez等[11-12]提出了一種新的方法,將二維擴散核分解為兩個一維核,避免了卷積紋理計算的開銷。定義一個可分離的一維濾波器S[x,y],將二維擴散核S分解為代價更少的水平和垂直一維核S[x]:
S[x,y]≈S[x]×ST[y]
(15)
上式中,[x,y]是樣本位置,ST[y]是S[y]的轉置。由于擴散剖面的徑向對稱性,方便利用轉置濾波器。濾波器S[x]定義為初始擴散剖面p[x]的函數,并將其參數化,使其更適合于精確的目標擴散剖面:
(16)
寬度k定義了以世界空間為單位的次表面散射核的全局寬度。強度t指定有多少擴散光穿透表面,因此將被次表面散射所改變。它是原始未濾波圖像與模糊圖像的混合因子。f定義了梯度隨距離變化的形狀。大的衰減使形狀更寬,而小的衰減使形狀更窄。寬度是標量,在R、G、B通道上是均勻的,而強度和衰減根據每個通道來定義。
使用可分離擴散核的渲染簡化為在渲染的漫反射圖像上應用一個雙通卷積濾波器。為了與一維核函數s[x]進行卷積,需要對核函數進行離散化。這是通過計算中心位置附近的樣本偏移量X,以及基于初始輪廓、強度和衰減參數的每個樣本的譜權W來實現的。考慮到渲染的實時性和對視覺的影響程度,本文使用9個樣本。樣本偏移量X可以通過在核范圍內均勻地間隔來計算,然后用指數函數對其進行修正,從而使越靠近中心的樣本越具有高的重要性。核范圍定義了采樣擴散剖面p[x]時x的最大范圍,從而影響離散化過程的精度。對于n個樣本的初始等間距偏移量集計算為:
(17)
其中r是核函數范圍的一半。比如n=9,r=2得到:
{-2.0,-1.5,-1.0,-0.5,0.0,0.5,1.0,1.5,2.0}
計算核權值W的集合要求我們首先計算修改后的剖面p[x]=R(r),其中r=x∈X是樣本偏移量。剖面在每個采樣點返回每個通道的漫反射系數。如前所述,對于三層皮膚模型,采用六高斯和的紅色通道進行離散化,并通過強度和衰減參數進行參數化。以下是一個直接實現的函數:
(18)
其中r=x,高斯項k=6,各個高斯權值wi和方差vi由以下集合定義(可參見表1中紅色通道的權值和方差):
wi∈{0.233,0.100,0.118,0.113,0.358,0.078}
vi∈{0.0484,0.187,0.567,1.99,7.41}
第一個高斯函數可以考慮直接表示散射光,由于它的方差很小,因此可以忽略,這樣高斯項減少到k-1。實際高斯函數的計算公式如下:
(19)
這類似于d’Eon等描述的高斯函數,但現在包含了半徑r除以衰減f,允許高斯函數的形狀發生變化。較大的衰減值使高斯曲線變寬,較小的衰減值使高斯曲線變窄。每一個顏色通道衰減值的范圍從0到1并且為防止除0加上了一個ε=0.001。
通過計算內核偏移量和內核權值可以使用可分離的子表面散射像素著色器將實際的濾波器應用于屏幕空間圖像;可見算法1。內核的最終大小(以世界空間單位為單位)與像素的投影表面積有關,后者取決于像素的深度和表面方向。在第4行和第5行,根據當前像素的深度確定內核的比例。這個值可以看作像素的大小,通過將到圖像平面的距離除以深度緩沖區中存儲的深度值d得到:
(20)
其中θfovy是用攝像機觀查場景的垂直視域。計算這個角的一半的余切就得到了從相機原點到圖像平面的距離(見圖3)。對于位于圖像平面上的像素,scale為1.0,隨著距離的增加而減小。在第6行計算采樣期步長,它是scale與全局散射寬度w以及一個二維方向向量的乘積,該方向指向水平方向(1,0)或垂直方向(0,1)取決于這是過濾器的第一遍還是第二遍,然后除以樣本偏移量的半范圍r,使其在[0,1]范圍內。
算法1可分離次表面散射像素著色器偽碼
function:ssssps(texcoord,kernel,width,nsamples,range,fovy,direction,colormap,depthmap)
1:Initialize result=float4(0,0,0,1)
2:color←colormap.Sample(point,texcoord)
3:depth←depthmap(point,texcoord).r
4:projdist←1.0/tan(0.5* radians(fovy))
5:scale←projdist/depth
6:step←scale*width*direction/range
7:fori++ 8:if i is nsamples then 9:result.rgb←result.rgb+color.rgb*kernel[nsamples/2].rgb 10:end if 11:offset←texcoord+kernel[i].a*step 12:tap←colormap.Sample(linear,offset) 13:d←depthmap.Sample(linear,offset).r 14:s←saturate(300.0*projdist*width*abs(depth-d)) 15:tap←lerp(tap,color.rgb,s) 16:result.rgb←result.rgb+kernel[i].rgb*tap.rgb 16:end for 16:return result 17:end function 計算實際的擴散卷積需要積累每個樣本的貢獻。對于中心樣本,只需要計算從顏色圖中提取的皮膚顏色和中心內核權重的乘積。其他樣本的顏色貢獻是通過對顏色圖中鄰近的紋理進行采樣來確定的,從而有效地將鄰近位置的顏色滲到著色器處理的目標像素中。線性抽樣是用來提高圖像質量的,增加樣本的數量會得到更逼真的效果。算法1是分離的次表面散射像素著色器的偽代碼,當距離大于擴散剖面時,用原始像素顏色對樣本的貢獻進行線性插值,消除了相鄰樣本與卷積中心之間的較大深度變化。這將減少屏幕空間中距離較近但物體空間較遠的位置之間不必要的顏色滲出,迫使卷積更精確地跟隨3D模型的表面。在算法1第14行300.0的修正值是一個經驗確定的量。表面渲染器應用可分離的子表面散射像素著色器作為漫反射圖像的后處理過濾器。第一遍計算水平方向上的卷積,第二遍計算垂直方向上的卷積。由于次表面散射只適用于漫反射組件,為了避免模糊,在最終渲染過程中,將之前計算的高光組件分離并添加進來。 3.2.2 透光率計算 Jimenez等[15]提出了一種計算屏幕空間擴散的半透明度的解決方案,其工作原理類似于紋理空間方法。在屏幕空間中面臨的主要問題是物體背面表面點的信息更少(從相機的角度來看),而半透明問題相當于求解下面的方程: (21) 穿過物體的距離d仍可以從陰影貼圖中得到。然而,在屏幕空間中無法獲得面向光表面上xin點處的入射輻照度E(xin)。因此引入了一些假設來近似輻照度。 首先,將x點處的法線替換為陰影處的反向法線:Nin=-Nout。其次,前面的反照率αout(從相機的視角)是用來近似后面的反照率。這是因為皮膚的表面反射率通常不會有很大的變化。此外,假設光照面的輻照度近似為局部常數,使得x點附近的所有采樣點與x點本身(E(xin)=E)值相同,且: E=αoutmax(0,Nout·L) (22) 其中L是光向量。根據這個假設有: (23) 利用d’Eon的高斯和近似,考慮到高斯信號具有單位總擴散響應,M(x,y)簡化為(推導見文獻[15]): (24) 為了降低計算復雜度,d近似為s(見圖1),通過將點xout轉換為光空間并從該點的存儲深度值中減去而得到。以下是一個基于物理的函數T(s),它將光強度的衰減與物體內部移動的距離聯系起來: (25) 這個函數可以預先計算并存儲為衰減紋理,或者直接在著色器中計算。在表面渲染器中選擇后者,因為直接計算通常比訪問紋理內存快并節省內存。 實現半透明的像素著色器偽代碼如算法2所示。前6行偽代碼計算了xin(d1)處的深度值和xout(d2)處的深度值,并得出它們的差值等于距離s。使用陰影映射進行深度值近似導致在將背景像素投影到對象上時,對象邊緣的精確度不夠。在從陰影映射查詢深度值時(第3行),為確保所有采樣點都在觀察視角,樣本位置在表面法線方向上少量收縮(第2行)。在陰影映射中找到正確的樣本位置需要手動執行透視圖轉換(第3行)。光透射距離是由兩個參數決定的,這兩個參數決定了透射的強度。首先是散射濾波器在世界空間單位上的寬度。這個參數之前用于次表面反射濾波器。另外一個參數,半透明因子是一個從0到1的值,它直接控制透射效應的強度。距離8.25的經驗值使得透光率變得明顯。第7~10行使用表1的高斯和近似計算距離s對應的顏色。將輻照度E近似為上文所述,通過將陰影點處光源強度乘以M(x,y)=ET(s)得到總透光度,對給定像素的每個光源均是如此獲得總透光度。 算法2透光率計算偽碼 function:transmittance(worldpos,normal,lightdir,shadowmap,viewproj,farplane,spotlight,albedo) 1:Initialize Ts=float3(0,0,0) 2:pos←float4(worldpos-0.005*normal,1.0) 3:lightpos←mul(pos,viewproj) 4:d1←shadowmap.Sample(linear,lightpos.xy/lightpos.w).r*farplane 5:d2←lightpos.z 6:s←(8.25*(1.0-Translucency)/ScatterWidth)*abs(d1-d2) 7:ss=-s*s 8:for i++<6 do 9:Ts←Ts+float3(redi,greeni,bluei)*exp(ss/vari) 10:end for 11:E←saturate(0.3+dot(-normal,lightdir)) 12:return E*Ts*spotlight*albedo 13:end function 實驗環境配置為CPU為Intel core i5 5200,內存4 GB,顯卡為AMD Radeon R5 M320的便攜計算機上進行了渲染實驗;使用3ds Max 2014版本作為渲染工具,Shader語言為CG。實驗用例皆為實際的肝臟經圖像三維重建后得到的數字化模型。 第1組實驗對象是圖2(a)在經圖像重建后得到的肝臟三維幾何模型,如圖2(b)、(c)、(d)所示,實驗中首先得到的是如圖4所示真實肝臟經重建后所得貼圖,之后利用本文方法進行渲染實驗,在渲染過程中,每一步的繪制實驗圖如圖5所示。 通過上圖肝臟模型渲染的過程,在添加紋理后只有二維平面效果,而增加法線貼圖后才有了立體效果,通過表面高光以及配合的環境光的表現使得模型具有了自然光照的屬性特點,增加陰影自遮擋效果使得模型表面有了坑洼的增強立體感,然后通過算法1實現的模型次表面散射使其具有了柔和的人體組織視覺特點,最后通過算法2實現光在肝臟較薄和邊緣處的透射以高真實感的呈現其半透明的視覺效果。 本文提出的方法是分兩層光照模型疊加模擬最終的結果,通過第一組最終實驗結果如圖5與采用3Dmax渲染的模型如圖2(b)、(c)、(d)的比較,采用本文提出的方法渲染的肝臟模型更接近現實如圖2(a)。而對重建模型漫反射層的比較如圖6第二組實驗所示,由此看出經典方法需配合環境光照來表現更多的模型細節。 第三組實驗如表2展示出在肝臟模型面片數為3968的情況下利用本文渲染方法達到的幀速率。通常12 frame·s-1的幀速率為人眼所達到實時交互的最低的幀速率,而如表2中本文渲染速率,當采用次表面散射方法渲染模型時,其渲染的幀速率依然可以在90 frame·s-1左右,為人眼實時最低速率的7.5倍。所以本文實驗方法保證了實時渲染的需要。綜合圖5實驗可得,本文方法可實現基于次表面散射重建肝臟模型高真實感實時渲染。 表2 依次增加的渲染過程及所對應的幀速率 本文在實現人體肝臟圖像三維重建后的真實感光照實時渲染問題上,提出利用表面反射和次表面散射光照模型結合的方法模擬表面高光及散、透射表現。通過從一個雙通道高光紋理中采樣光強度和粗糙度系數并允許它們在模型的表面變化,從而提高高光部分的逼真度。此外,采用法線貼圖、陰影遮擋貼圖以及位移貼圖來改變肝臟表面的粗糙度以表現更多的幾何微觀特征和增強立體視覺。采用Kelemen/Szirmay-Kalos高光BRDF計算鏡面反射并考慮了來自各個方向的入射環境光,使得渲染的肝臟模型更接近自然光照的視覺呈現。為了實現實時呈現效果,利用擴散剖面對輻照度進行二維卷積,近似為高斯和并將二維擴散核分解為兩個一維核,避免了卷積紋理計算的開銷。通過結合紋理空間和屏幕空間半透明技術實現肝臟組織邊緣較薄處光線透射的效果。實驗結果表明,本文方法能逼真地模擬出人體肝臟的視覺外觀,且能保證模型在復雜渲染算法情況下的實時效率。4 實驗結果與分析
4.1 實驗渲染結果分析
4.2 實驗結果對比分析
4.3 渲染效率分析

5 結語