問題:
1、性能
算法的遞歸性質(zhì)和大數(shù)目的追蹤光線,渲染過程可能持續(xù)數(shù)小時(shí)。80-90%的渲染時(shí)間花費(fèi)在計(jì)算光線和物體交點(diǎn)上。
2、走樣
3、尖銳的陰影
基本的光線追蹤算法只能得到尖銳的陰影(因?yàn)?a href="http://www.asorrir.com/analog/" target="_blank">模擬的是點(diǎn)光源)。
4、局部光照和著色
算法只追蹤少數(shù)目的光線,只有四種類型的光線被考慮在內(nèi),物體之間的漫反射光沒有被考慮在內(nèi),即算法并不包括全局光照。
解決方案:
1、性能
-
使用更多或者更好的硬件
-
大規(guī)模并行計(jì)算。每一個(gè)光線都相互獨(dú)立。將圖像分割,分配在多核上或者分布式網(wǎng)絡(luò)上;或者分配在多個(gè)線程上。
-
限制交點(diǎn)檢測(cè)的數(shù)目。使用包圍盒的層次關(guān)系??焖倥袛喙饩€是否和一組物體相交。物體被分組在封閉的包圍盒中。利用空間細(xì)分技術(shù):octree,BSP,grid.
-
優(yōu)化交點(diǎn)檢測(cè)
-
限制追蹤光線的數(shù)目,確定最大的遞歸層數(shù)。根據(jù)光線對(duì)當(dāng)前像素點(diǎn)貢獻(xiàn)值大小來限制遞歸深度。一個(gè)閾值用來確定后續(xù)光線由于對(duì)像素點(diǎn)貢獻(xiàn)太小而不會(huì)被追蹤。
2、走樣
使用超采樣(super sampling)、抗鋸齒(antialiasing)、jittering
-
追蹤額外的主光線并取平均值。即超采樣,相對(duì)于每一個(gè)像素點(diǎn)取一條光線,你可以取特定數(shù)目的光線。每一個(gè)像素被分為亞像素,對(duì)每一個(gè)亞像素發(fā)射一條光線。當(dāng)所有的亞像素點(diǎn)都處理完畢,對(duì)亞像素點(diǎn)的顏色值取平均值,并將其賦值給該像素點(diǎn)。這種方法大大增加了渲染時(shí)間。
-
自適應(yīng)抗鋸齒。在顏色劇烈變化的地方使用追蹤的主光線,顏色變化不大的地方使用最少的主光線。
-
隨機(jī)抗鋸齒。隨機(jī)取樣代替常規(guī)取樣。
3、尖銳的陰影
原因:使用點(diǎn)光源、每個(gè)交點(diǎn)僅僅對(duì)應(yīng)一條陰影光線。
-
區(qū)域光(area light)。使用一系列點(diǎn)光源來模擬區(qū)域光源。對(duì)于每一個(gè)交點(diǎn),需要和點(diǎn)光源數(shù)目一樣多的追蹤光線。
-
Monte Carlo光線追蹤法。使用隨機(jī)超采樣,光源建模成球形光源,陰影光線指向代表光源的球上面的點(diǎn)。陰影光線顏色的平均值決定該交點(diǎn)最終的顏色值。
4、全局光照
依舊可以使用Monte Carlo法。使用Radiosity算法。
-
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8949瀏覽量
139444 -
光線追蹤
+關(guān)注
關(guān)注
0文章
185瀏覽量
21733
原文標(biāo)題:舉例幾個(gè)光線追蹤的問題和解決方案
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
智能倉(cāng)儲(chǔ)管理解決方案NRF5832
光線追蹤及降噪技術(shù)綜述

岳冉RFID技術(shù)智慧工廠生產(chǎn)物料實(shí)時(shí)追蹤管理解決方案

基于光線追蹤實(shí)現(xiàn)反射折射效果

基于光線追蹤的渲染算法實(shí)現(xiàn)

光線追蹤的工作原理

Python遞歸的經(jīng)典案例
AMD光線追蹤專家加盟高通,共筑Adreno GPU性能新高度
遞歸神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)

評(píng)論