我建立在C光模擬器++用於3D場景(現在是「康奈爾框」)。這是一個我正在做圖形課程的項目,我不想盡快完成,只是爲了渲染一張像樣的圖像對我來說很好,即使需要花費數小時。我想展示全球照明和自由度。設計與位置鏡頭和傳感器爲光模擬器光線跟蹤
取代常規的光線追蹤器,光線從點光源發出,在場景中的幾何體上彈起,最終撞擊光線傳感器,這是3D環境中的矩形,並取決於光線點擊的位置傳感器,屏幕上該像素的強度會增加。
所述傳感器和所述場景之間,存在其中我試圖以模擬照相機正確地設計和位置的透鏡。鏡頭也是一個平坦的表面,但法線(當光線碰到鏡頭並被折射時)是根據一個薄的球面鏡頭計算出來的。
我目前的設置,這是從公式推導鏡頭和這樣我在維基百科上找到:
The Cornell box: x, y and z in between -1 and 1
Sensor dimensions: 0.2 x 0.2 (too large?)
Sensor position: 0, 0, -2.9
Sensor resolution: ~ 150 x 150 px
Lens dimensions: 0.4 x 0.4 (rectangular shape for now, spherical normals)
Lens position: sensor position + (0, 0, 0.1037) (in front of sensor)
Lens IOR: 1.52 (glass)
Lens focal length: 0.1
Lens radius: 0.104
我們所看到的主要是點光源,重點不突出。
理想我想盒(-0.5 .5之間Z)的一半左右,以突出重點,故DOF可以是可見的。 我的問題是:如何校準傳感器和鏡頭以使圖像出現?我不認爲我可以使鏡頭和傳感器太小,然後幾乎所有的光線都將被丟棄,因爲它們不會撞到相機,從而使渲染在計算上不可行。
傳感器與我用常規光線跟蹤器進行渲染時所使用的針孔攝像頭位於相同的位置,渲染圖像確認攝像頭的位置至少正常。我懷疑鏡頭和/或傳感器可能太大,導致景深太窄,幾乎整個場景變得模糊。光源不應該看起來很大,因爲它是一個全方位的點光源。 – Betamos
如果您使用了真正的針孔模型(即通過針孔進行光線追蹤並且圖像呈現UPDIDE DOWN),則應調整鏡頭曲率(或折射率),使其焦距與從針孔到像面的距離。然後將鏡頭放在曾經有針孔的地方。 爲了集中,無論是移動透鏡朝向對象或只是減小透鏡的尺寸(實際上,提高虛擬F /停止)。幾分鐘放大鏡和尺子,或任何像單反相機或測距儀這樣的手動對焦相機在這裏可能很有啓發性。 – bjorke