如何在射线追踪中选择焦距?

时间:2013-08-11 20:12:31

标签: graphics raytracing

我刚刚开始研究光线追踪项目。这里有一个非常基本的问题:我在世界坐标中有摄像头位置。如何确定视图平面的位置? 为了说清楚:已经提供了摄像机信息:我的摄像机位于(0,1,10),指向(0,0,-1),向上方向为(0,1,0)。对于透视图:gluPerspective(45,1.0,0.1,100)。如果将摄像机位置用作视图平面或视点,我会感到困惑。感谢。

2 个答案:

答案 0 :(得分:1)

你想要45 fov和1宽高比这意味着焦距f

f = (w/2) / tan(45/2) = (h/2) / tan(45/2)

其中wh是电影平面的宽度和高度。

如果您的飞机已标准化(在[-1,1] ^ 2中)f只是:

f = 1/tan(45/2)

在右手坐标系中,光线原点为(0,0,f)

相机独立于焦距。 您可以通过相机变换在世界空间中变换光线,或者使用相机的倒数在相机空间中变换您的世界。

答案 1 :(得分:0)