Newer
Older
#include "CamObs.h"
#include <limits>
namespace cam {
cam::CamObs::CamObs (const util::Mat4& mat, float theta, int width, int height)
:mat_ (mat), theta_ (theta), width_ (width), height_ (height) {}
Ray cam::CamObs::create (float x, float y) const
{
util::Vec3 d (x - width_ / 2, height_ / 2 - y, -(width_ / 2) / (tan (theta_ / 2)));
d = mat_.transformDir (d);
return Ray (mat_.position (), d, 0, std::numeric_limits<float>::infinity(), true);
}
}