【发布时间】:2017-01-14 00:36:37
【问题描述】:
我目前正在研究光线追踪技术,我认为我做得很好;但是,我还没有涵盖相机。
到目前为止,我使用了一个平面片段作为视图平面,它位于 (-width/2, height/2, 200) 和 (width/2, -height/2, 200) 之间 [200 只是 z 的固定数量,可以更改]。
除此之外,我主要在e(0, 0, 1000) 上使用相机,并使用透视投影。
我将光线从点e发送到像素,并在计算像素颜色后将其打印到图像的对应像素。
这是我创建的图像。希望您可以通过查看图像来猜测眼睛和视图平面的位置。
我的问题从这里开始。是时候移动我的相机了,但我不知道如何将 2D 视图平面坐标映射到规范坐标。是否有一个转换矩阵?
我认为该方法需要知道视图平面上像素的 3D 坐标。我不确定这是使用正确的方法。那么,你有什么建议呢?
【问题讨论】:
标签: c++ camera transformation raytracing