raytracer输出是黑色图像

时间:2014-01-14 16:58:25

标签: c++ raytracing

我目前正在尝试实现光线跟踪器。实际上,我尝试重新排列我们去年做的光线跟踪器(在opengl,glew,qt(由我们的老师写的这个prt)和c ++)到cus中的一个简单的基本光线跟踪器。 因此,opengl不再处理相机,所以我写了一个这样的:

class Camera{
  public:
    inline Camera() : camPos(Vec3Df(0.0f ,0.0f ,-3.0f)), direction(Vec3Df(0.0f, 1.0f,   2.0f)),upVector(Vec3Df(0.0f ,0.0f ,0.0f)), rightVector(Vec3Df(0.0f ,0.0f ,0.0f)){ }  
    inline const Vec3Df & getCamPos () const { return camPos; }
    inline const Vec3Df & getDirection () const { return direction; }
    inline const Vec3Df & getUpVector () const { return upVector; }
    inline const Vec3Df & getRightVector () const { return rightVector; }

  private:
    Vec3Df camPos;
    Vec3Df direction;
    Vec3Df upVector;
    Vec3Df rightVector;
};

我不知道它是否正确,我发现人们把随机坐标放在位置和方向上。

教师还为.off文件实现了一个加载器,用于加载带有顶点和三角形的对象。

与三角形交叉的方法起作用,因为它在最后一个项目中起作用,但在这里,现在我处理相机,它根本找不到任何交叉点,我有一个黑色图像作为输出。

有人可以帮帮我吗?还是建议我?

0 个答案:

没有答案