无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

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

2022-11-17 00:46 作者:柯昌弟弟c  | 我要投稿

第十章

主要是對攝像機(jī)的一些操作,叫做:可定位攝像機(jī)。書里說這里調(diào)試也比較麻煩,我感覺是真的挺麻煩的。

首先,讓我們有一個可調(diào)整的視野fov,作者之前使用的畫布圖像不是一個正方形,所以垂直和水平的fov值是不同的,作者喜歡垂直方向的fov,我也一樣的使用了垂直方向,但是還是保留了我自己的輸出正方形的圖。

視角圖

首先,我的射線是從原點(diǎn)發(fā)射,射到z=-1的平面(原作者說-1 -2 都行),那么圖中很明顯就能得到h=tan(θ/2),有了公式就很容易得到相機(jī)模型了,那就改寫一下攝像機(jī):

新的camera.h腳本

額外加一下π的值:

在drand48.h加一個常量π

當(dāng)然哈 主函數(shù)也要改:

主函數(shù)這邊我還是沿用了自己的200*200

main函數(shù)內(nèi)修改了一下攝像機(jī)和球

書里正常應(yīng)該是輸出90度類似廣角的長畫面,我這里是一個正方形的,小伙伴也可以使用其他的比例來看,輸出結(jié)果:

200*200兩個球

現(xiàn)在攝像機(jī)可以調(diào)整視角了,接下來我們將攝像機(jī)位置也變化一下。

首先書中定義了攝像機(jī)的位置叫l(wèi)ookfrom,看向的點(diǎn)叫l(wèi)ookat。

攝像機(jī)的朝向(看到的方向)

這里他加了一個比喻,就是說你站直了,你的頭還是可以左右轉(zhuǎn)動的:

vup的方向示意

我們實(shí)際上可以使用任何我們想要的向上的向量,簡單的把他投射到這個平面上得到一個向上的向量,所以就得到了vup,通過叉乘計(jì)算,就可以得到一個完整的蒸餃(u,v,w)。這里我建議小伙伴自己畫一下圖,真的很有必要,畫出來就知道vup和uvw的關(guān)系了。

接下來就是修改代碼了:

可以變換位置的camera就搞定了

回到main函數(shù),用上一章的那幾個球:

那兩個新加的球可以光榮退役了

我給出自己的輸出的圖:

200*200,其它和書中數(shù)據(jù)一致

多跑幾個配置的圖也可以看看,我這里就不多跑其它的圖了。關(guān)于攝像機(jī)還剩最后一個部分 —— 景深(直譯是聚焦模糊)。

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

分享到微博請遵守國家法律
建瓯市| 邵东县| 三台县| 淳安县| 灵武市| 建湖县| 曲阳县| 桃江县| 山东省| 平遥县| 商洛市| 孝感市| 正镶白旗| 古浪县| 贵州省| 贡觉县| 蕉岭县| 安庆市| 鄯善县| 罗江县| 东乌| 谷城县| 察隅县| 唐河县| 张家川| 汨罗市| 舟曲县| 吉安市| 福贡县| 界首市| 易门县| 汤原县| 盐边县| 新绛县| 平度市| 宜宾市| 康保县| 清河县| 海盐县| 博爱县| 黔江区|