#include "BackgroundMaterial.h" #include "texture/Constant.h" namespace material { BackgroundMaterial::BackgroundMaterial(const std::shared_ptr<util::Sampler>& texture) : texture_(texture) { } BackgroundMaterial::BackgroundMaterial(const util::Vec3& color) : texture_(std::make_shared<Constant>(color)) { } util::Vec3 BackgroundMaterial::albedo(float texel_x, float texel_y) { return util::Vec3(1, 1, 1); } util::Vec3 BackgroundMaterial::emission(float texel_x, float texel_y) { return texture_->color(texel_x, -texel_y); } util::Vec3 BackgroundMaterial::scattered_d(const util::Vec3& d, const util::Vec3& n) { return util::Vec3(0, 0, 0); } bool BackgroundMaterial::scatter() { return false; } }