1#include "interfaces/IMaterial.hpp"
3#ifndef __DIELECTRIC_HPP__
4 #define __DIELECTRIC_HPP__
6namespace Raytracer::Materials
10 double _refractionIndex;
19 double u,
double v,
const Utils::Point3 &point)
const override;
20 static double reflectance(
double cosine,
double index);
Definition Payload.hpp:11
Definition IMaterial.hpp:14
Definition Dielectric.hpp:8
Utils::Color emitted(double u, double v, const Utils::Point3 &point) const override
Calculate the refracted ray.
Definition Dielectric.cpp:110
Dielectric(double refractionIndex)
Construct a new Dielectric object.
Definition Dielectric.cpp:16
static double reflectance(double cosine, double index)
Calculate the reflectance of the dielectric material.
Definition Dielectric.cpp:89
bool scatter(const Core::Ray &ray, const Core::Payload &payload, Utils::Color &attenuation, Core::Ray &scattered) const override
Scatter the ray with the dielectric material.
Definition Dielectric.cpp:52