Skip to content
Snippets Groups Projects
Scene.h 429 B
Newer Older
#pragma once
Postea's avatar
Postea committed

#include "../camera/CamObs.h"
Yoel's avatar
Yoel committed
#include "../shape/Shape.h"
Postea's avatar
Postea committed
#include "Sampler.h"

class Scene : public util::Sampler {
Yoel's avatar
Yoel committed
   public:
	Scene(std::shared_ptr<shapes::Shape> group, cam::CamObs cam, size_t depth);
	util::Vec3 color(float x, float y) const override;
Yoel's avatar
Yoel committed
	util::Vec3 calculateRadiance(const cam::Ray& r, size_t depth) const;
Yoel's avatar
Yoel committed
   private:
	std::shared_ptr<shapes::Shape> group;
	cam::CamObs cam;
	size_t depth;
Postea's avatar
Postea committed
};