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_;
};
}