光線(xiàn)追蹤技術(shù)的理論和實(shí)踐(面向對象)
最后我們也可以讓地面反射物體,然后再墻上添加很多小球,讓畫(huà)面變得復雜一些,如下圖。

總結
這篇文章通過(guò)利用面向對象的方法來(lái)實(shí)現了光線(xiàn)追蹤渲染場(chǎng)景。利用面向對象的方法來(lái)實(shí)現光線(xiàn)追蹤使程序的擴展性得到增強,渲染復雜的場(chǎng)景或者復雜的幾何物體的時(shí)候,或者有很多光源和復雜光照計算的時(shí)候,只需要從基類(lèi)繼承,然后利用多態(tài)性來(lái)實(shí)現不同物體的不同渲染方法。


從上面的類(lèi)圖可以看到,利用面向對象的方式可以很容易擴展程序。而且,由于光線(xiàn)追蹤的這種結構,不論添加多少物體在場(chǎng)景中,不論物體多么復雜,這種結構總能很好地渲染出正確的畫(huà)面。
但是,對光線(xiàn)追蹤來(lái)說(shuō),越復雜的場(chǎng)景需要的渲染時(shí)間越長(cháng)。有的時(shí)候渲染一幀的畫(huà)面甚至需要幾天的時(shí)間。所以好的算法和程序結構對于光線(xiàn)追蹤來(lái)說(shuō)是很重要的,可以通過(guò)場(chǎng)景管理、使用GPU或CUDA等等技術(shù)來(lái)提高渲染效率。
c++相關(guān)文章:c++教程
評論