Skip to content
Snippets Groups Projects
Hit.h 523 B
#pragma once
#include "Vec3.h"
#include "Material.h"
#include "Ray.h"

namespace cam {
	class Hit
	{
	public:
		Hit (const util::Vec3& hit, const util::Vec3& n, float t, const  std::shared_ptr<material::Material>& material);
		Ray scattered_ray (const Ray& inc_ray) const;
		util::Vec3 albedo (); //TODO TexelPos
		util::Vec3 emission (); //TODO TexelPos
		bool scatter () const;
		//Attributes
		//TODO TexelPos
		const util::Vec3 hit_, n_;
		const float t_;
		const std::shared_ptr<material::Material> material_;
	};

}