#include #include #include "lin_alg.h" #include "entity.h" #include "color.h" #include "light.h" struct IntersectInfo { double param_t; vector3d pt; vector3d norm; Color col; Entity * E; }; class world_objects { public: std::vector objects; std::vector lights; void Insert(Entity*E) {objects.push_back(E);} void PathCompress(); IntersectInfo CalcRayIntersect(Ray ray); int IntersectionTest(Ray ray); };