freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

elvishray新算法框架(編輯修改稿)

2025-07-16 14:06 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 ,而光線追蹤算法需要處理所有景物,且Reyes的細(xì)分是通過將景物透視投影到屏幕空間,根據(jù)其包圍盒大小與shading rate控制的,而位于投影平面前的景物,不能很好的透視投影到該平面上,但又注意到這部分景物往往亦具有前述的照明屬性的局部性,其可見部分只能通過影響與之相靠近的位于視棱域內(nèi)的景物而表現(xiàn)在最終渲染圖像上,所以我們對(duì)其進(jìn)行到投影平面的平行投影(而非透視投影),以此決定其細(xì)分精度,而對(duì)位于Z軸另一側(cè)的不直接可見的景物,我們利用鏡像性質(zhì),應(yīng)用與上述相應(yīng)的法則進(jìn)行細(xì)分,同樣使離視點(diǎn)較近的景物細(xì)分得較精細(xì),離視點(diǎn)較遠(yuǎn)的景物細(xì)分得較粗糙,這稱為對(duì)稱細(xì)分法。雖然使用single geometry cache一般能夠得到較理想的結(jié)果,但也存在如前面舉例的放大鏡問題,對(duì)于該類問題,RenderMan中光線追蹤的解決方法是類似MIPMAP算法,構(gòu)建同一microgrid的多分辨率細(xì)分拷貝(即Multiresolution Geometry Caching),在渲染時(shí)動(dòng)態(tài)的計(jì)算ray differentials,按其大小選擇合適的geometry cache拷貝,Razor的方法也很類似,但它會(huì)對(duì)相鄰的拷貝按ray differentials大小進(jìn)行插值。無論如何兩種方法都十分復(fù)雜,同時(shí)需要特別處理麻煩的裂縫問題,而放大鏡這種情況并不常見,我認(rèn)為更簡(jiǎn)單更容易控制的方法是像Reyes一樣,允許單獨(dú)調(diào)整某個(gè)景物的shading rate,比如在放大鏡問題中,我們只需適當(dāng)減小放大鏡中可以看到的細(xì)分不足的景物的shading rate即可,然而在放大鏡的放大倍率非常大時(shí),該景物可能會(huì)被分割得非常精細(xì),但實(shí)際上它在渲染圖像中直接可見的部分卻非常小,于是這對(duì)Reyes算法是一種傷害,所以我引入了Multitype Geometry Caching的概念,即對(duì)每個(gè)物體,都對(duì)應(yīng)每種光線類型持有一份細(xì)分拷貝,這樣相同類型的光線總與同一份拷貝求交,因此不會(huì)產(chǎn)生裂縫。在一般情況下,每個(gè)物體只持有一份針對(duì)eye ray的eye geometry cache,其它光線類型的geometry cache簡(jiǎn)單的指向它,而只有在用戶手動(dòng)調(diào)整另一種光線類型的shading rate時(shí),才針對(duì)該光線類型生成相應(yīng)的geometry cache(例如針對(duì)reflected ray就生成reflected geometry cache),這有利于用戶直接控制并預(yù)測(cè)細(xì)分?jǐn)?shù)量,簡(jiǎn)單而不失靈活性。因此,在渲染中可以不需要計(jì)算ray differentials,或者可以考慮利用ray differentials的估計(jì),使不同類型的shading rate的值的選擇自動(dòng)化,不必人工干預(yù)。4. Multiresolution kdtree使用Multiresolution Geometry Caching的一個(gè)好處是,對(duì)于大的ray differentials,cache中包含更多的景物,但景物可以分割的更粗糙些,對(duì)于小的ray differentials,cache中包含更少的景物,但景物應(yīng)分割的更精細(xì)些。這個(gè)性質(zhì)使得cache可以保持相對(duì)固定的大小。為了在基于kdtree加速的光線追蹤算法中利用這個(gè)性質(zhì),我們需要稍微改進(jìn)一下kdtree的結(jié)構(gòu),如圖:通常在kdtree中追蹤每條光線的復(fù)雜度為O(logN),N為景物數(shù)目,為了保持kdtree的加速性質(zhì),而不因?yàn)槭褂昧薓ultiresolution Geometry Caching而改變,我們必需能夠動(dòng)態(tài)改變kdtree的結(jié)構(gòu),但改變之后所得的形態(tài)應(yīng)該與按傳統(tǒng)的kdtree方法構(gòu)造的形態(tài)相似(如果采用按物體分組的方式,每個(gè)物體都構(gòu)建自己?jiǎn)为?dú)的kdtree,假設(shè)有M個(gè)物體,則算法復(fù)雜度變?yōu)镺(M log(N/M)),且O(M log(N/M))=O(logN),即使使用了層次包圍盒算法,復(fù)雜度也是O(M log(N/M))=O(logN),且增加了算法盒儲(chǔ)存結(jié)構(gòu)的復(fù)雜度,故不采用該方法),考慮幾何體分組的方式,若按物體分組,則不能很好的反映景物在空間中的分布,故不合理。因此我們不必按照物體分組,而直接按kdtree的結(jié)點(diǎn)分組,將位于同一個(gè)結(jié)點(diǎn)中的所有景物當(dāng)作一個(gè)處理單元,由此得到如圖所示的kdtree結(jié)構(gòu),它保持了kdtree的加速性質(zhì),即改變細(xì)分層次之后所得的形態(tài)與按傳統(tǒng)的kdtree方法構(gòu)造的形態(tài)相似,且以結(jié)點(diǎn)作為基本處理單元。為了保持Multiresolution Geometry Caching的性質(zhì),我們?cè)趯?shí)現(xiàn)中采用延遲載入的思想,且依然動(dòng)態(tài)構(gòu)建kdtree,算法步驟如下:當(dāng)光線進(jìn)入某個(gè)node時(shí),檢查是否已分割過(分割指將node中景物按分割平面分類,建立children nodes的過程),若未分割過,則按照未經(jīng)細(xì)分的幾何體(稱為toplevel geometry,如NURBS,Subdivision Surfaces等,這種幾何表示方式的好處是非常節(jié)省儲(chǔ)存空間)的包圍盒分割,直至滿足分割終止條件,建立leaf node,若leaf node中只有可以直接快速光線追蹤的基本圖元,比如polygons或triangles等,則光線直接與這些圖元求交,若leaf node中包含更復(fù)雜的toplevel geometry,則需要進(jìn)一步細(xì)分為基本圖元,比如microgrid等,然后再光線追蹤(因?yàn)榇罅垦芯恐赋黾?xì)分后再追蹤依然優(yōu)于直接光線追蹤,不只是速度上,還有對(duì)于軟件體系結(jié)構(gòu)的設(shè)計(jì)和維護(hù)等方面更有利),這種leaf node稱為expanding leaf node。這時(shí),我們根據(jù)光線的ray differentials,決定所需的細(xì)分層次level n,并依次生成一系列從level 0到level n的細(xì)分拷貝,我們可以用增量法避免重復(fù)計(jì)算,這要求細(xì)分與分割交替進(jìn)行,比如對(duì)于level 0我們直接用expanding leaf node中
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1