#ifndef RAYTRYCPP_CAMERA_H #define RAYTRYCPP_CAMERA_H #include "Ray.h" #include #include namespace raytry { class Camera { private: QVector3D forwardVec{0.0, 1.0, 0.0}; QVector3D upVec{0.0, 0.0, 1.0}; QVector3D rightVec{1.0, 0.0, 0.0}; QVector3D positionVec{0.0, 0.0, 1.8}; float hfov{110.0f}; float planeDistance{0.2f}; public: void for_each_ray(const QImage &image, const std::function& consumer); const QVector3D& pos() const; const QVector3D& fwd() const; }; }// namespace raytry #endif//RAYTRYCPP_CAMERA_H