阿昌學(xué)習(xí)《RayTraing in one week》 (六)
第六章
????????這章節(jié)主要是添加一個抗鋸齒效果(反鋸齒(英語:anti-aliasing,簡稱AA),說起來抗鋸齒感覺是個很有趣的技術(shù),主要是它看起來就是把東西變模糊,但這樣反而讓圖像更加的清晰,這真的很神奇。接下來直接看看在raytraing如何實現(xiàn)這部分。
????????在實際的真實世界中,我們的攝像機其實是沒有鋸齒這個效果的,是因為邊緣像素是一些前景和背景的混合之后得到了圖像,那么這種混合在代碼里,我們可以使用多重采樣然后求平均值來模仿這種效果。
????????也就是說一個像素點的顏色,是周圍顏色的平均值,這樣就可以做到抗鋸齒。
????????首先將咱們的攝像機拎出來,寫成一個攝像機類。

因為接下來要用到隨機數(shù)隨意添加一下drand48.h,MAXFLOAT我也同樣放在里面了。

那么接下來,主函數(shù)也修改一下,這里添加一個循環(huán)采樣100,然后求平均值最后再賦予顏色。

運行一下會得到新的圖,這里我直接用上一章的圖進(jìn)行對比:


其實差異還是蠻明顯的,這就是抗鋸齒效果了
標(biāo)簽: