我正在写一个光线跟踪器(使用左手坐标,如果这有所作为)。这是为了教我自己的原则,所以我没有使用OpenGL或复杂的功能,如景深(还)。我的相机可以有任意的位置和方向;我通过三个载体location
,look_at
和sky
表示它们,其行为与equivalent POV-Ray vectors相似。其“电影”也有width
和height
。 (focal
长度隐含的距离从position
到look_at
。)如何投射任意相机的光线?
我的问题是,不知道如何投射射线。我有两个数量,vx
和vy
,指示射线应该在哪里结束。它们都从-1到1变化。如果它们都是-1,我会将光线从相机的位置投射到“电影”的左上角;如果他们都是1,则右下角;如果他们都是0,那么这个中心;其余显而易见。
我对使用矢量算法推导射线方程式不够熟悉。我希望能解释如何这样做。
谢谢,我现在就开始工作。 – Remy 2009-11-15 22:58:50