2#include "interfaces/IMaterial.hpp"
3#include "interfaces/ITexture.hpp"
5#ifndef __ISOTROPIC_HPP__
6 #define __ISOTROPIC_HPP__
8namespace Raytracer::Materials
12 std::shared_ptr<Interfaces::ITexture> _texture;
15 Isotropic(std::shared_ptr<Interfaces::ITexture> texture);
20 double u,
double v,
const Utils::Point3 &point)
const override;
Definition Payload.hpp:11
Definition IMaterial.hpp:14
Definition Isotropic.hpp:10
Utils::Color emitted(double u, double v, const Utils::Point3 &point) const override
Emitted light of the isotropic material.
Definition Isotropic.cpp:70
bool scatter(const Core::Ray &ray, const Core::Payload &payload, Utils::Color &attenuation, Core::Ray &scattered) const override
Scatter the ray with the isotropic material.
Definition Isotropic.cpp:48
Isotropic(std::shared_ptr< Interfaces::ITexture > texture)
Construct a new Isotropic object.
Definition Isotropic.cpp:14