最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

阿昌學(xué)習(xí)《RayTraing in one week》 (十一)

2022-11-22 22:40 作者:柯昌弟弟c  | 我要投稿

《第十一章》

《ray traing in one week》最后一個概念就是給攝像機添加一個消音模糊/聚焦模糊,或者通俗點就叫景深

而對于景深這個概念,就關(guān)系到攝像機的原理了

我用我自己學(xué)習(xí)理解到的說一下景深是什么樣子的:

  1. 一束平行光攝入凸透鏡之后,光線會匯聚在一點上,延長,那么光線會在這一點之后離散,這個點就叫做焦點

  2. 離散后這束光就像一個圓錐體一樣傳播,而這個圓錐體的底部圓形就叫做彌散圓

  3. 人眼是有識別彌散圓的范圍的,就是彌散圓的直徑放的太大了或者太小了就看不清了,那么在能看清的范圍內(nèi)就叫做容許彌散圓(焦點前和焦點后各有一個)

  4. 而2個容許彌散圓之間的距離就叫做景深

圖片來源:百度文庫

1)光圈:光圈越大,景深越小。光圈越小,景深越大。

2)鏡頭焦距:鏡頭焦距越長,景深越小。焦距越短,景深越大。

3)拍攝距離:距離越遠,景深越大。距離越近,景深越小。

書中的表示非常簡易

而這個原理我們需要簡化一下,需要從一個虛擬的透鏡范圍中發(fā)射射線,而這個透鏡與平面的距離就是焦距。

簡化原理實現(xiàn)效果

簡單點說就是,我們光線的創(chuàng)建就是經(jīng)歷了下邊三個步驟:

1.原來是從一個點發(fā)射一條光線,最后獲取顏色成像。

2.之后加入了多重采樣,從一個點發(fā)射多條光線取平均值,最后獲取顏色成像。

3.現(xiàn)在則是將從不同的點來發(fā)射光線。

既然發(fā)射光線是在一個圓形的透鏡內(nèi)隨機產(chǎn)生點的,那么就寫一個方法生成這個位置:

random_in_unit_disk

全新的攝像機來咯,加入透鏡等參數(shù):

camera.h完成!

主函數(shù)我們修改一下這個快門光圈,看看效果:

攝像機的參數(shù)簡單修改一下

得到的圖和書中基本一致的:

我這個是正方形

《第十二章》

最后一個部分就是書中的那張圖,沒有額外的太多,我直接把主函數(shù)截圖給家看一下,基本就可以了:

one weekend 的最終 main.cpp

既然是最后的圖,分辨率也是使用了400*300,看一下我的輸出結(jié)果吧:

還是很漂亮的一張圖的

到這里呢,One weenkend就是結(jié)束了,接下來就是 next week了,我也會持續(xù)更新的。

也給自己打個氣,目前學(xué)了raytracing這個書,接下來一定要把光線追蹤的圣經(jīng)《Physically Based Rendering:From Theory To Implementation》(PBRT)好好學(xué)一下,加油啦!

如果有興趣可以私信我,一起努力。

阿昌學(xué)習(xí)《RayTraing in one week》 (十一)的評論 (共 條)

分享到微博請遵守國家法律
台州市| 海城市| 怀柔区| 罗源县| 宜昌市| 平阳县| 会昌县| 合水县| 阿尔山市| 高密市| 西乌珠穆沁旗| 台安县| 周至县| 霍城县| 麦盖提县| 陇川县| 兴海县| 恩平市| 彭山县| 宜州市| 泾阳县| 苍梧县| 深州市| 乌恰县| 理塘县| 涡阳县| 禹城市| 鄄城县| 咸宁市| 和平县| 甘肃省| 津市市| 东平县| 浙江省| 漳州市| 浦江县| 五常市| 黎城县| 普格县| 南和县| 孝感市|