2 #include <color/specutils.hpp>
4 #include <math3d/vec3.hpp>
6 using namespace ptracey;
12 : orig(o), dir(d), tm(0),
13 wlength(
static_cast<WaveLength
>(random_int(
14 VISIBLE_LAMBDA_START, VISIBLE_LAMBDA_END))) {}
18 : orig(o), dir(d), tm(time), wlength(wl) {}
20 point3 origin()
const {
return orig; }
21 vec3 direction()
const {
return dir; }
22 WaveLength wavelength()
const {
return wlength; }
23 Real time()
const {
return tm; }
25 point3 at(Real t)
const {
return orig + t * dir; }