【发布时间】:2017-10-19 12:09:48
【问题描述】:
我有一个由右、上、前和位置向量组成的 4x4 相机矩阵。 我使用在教程中找到的以下代码对场景进行光线追踪,但并不完全理解它:
for (int i = 0; i < m_imageSize.width; ++i)
{
for (int j = 0; j < m_imageSize.height; ++j)
{
u = (i + .5f) / (float)(m_imageSize.width - 1) - .5f;
v = (m_imageSize.height - 1 - j + .5f) / (float)(m_imageSize.height - 1) - .5f;
Ray ray(cameraPosition, normalize(u*cameraRight + v*cameraUp + 1 / tanf(m_verticalFovAngleRadian) *cameraForward));
我有几个问题:
- 如何找到光线追踪相机的焦距?
- 我的图像平面在哪里?
- 为什么
cameraForward需要与这个1/tanf(m_verticalFovAngleRadian)相乘?
【问题讨论】:
标签: graphics camera computer-vision geometry perspectivecamera