Camera(vector3 p, vector3 d, vector3 u) { position = p; direction = d.normalized(); up = u.normalized(); up = (u - direction.projected(u)).normalized(); right = (direction ^ up).normalized(); }
/// /// \brief ray /// \param _start /// \param _dir /// ray_t(const vector3<REAL> _start, const vector3<REAL> _dir){ start = _start; dir = _dir.normalized(); }
plane<Real>::plane(const vector3<Real> &p, const vector3<Real> &n) : normal(n.normalized()) { d = - dot(p, normal); }