Skip to content
Snippets Groups Projects
Commit 78f8e56a authored by Yoel's avatar Yoel
Browse files

New functions sampleEmissionProfile called and emission_pdf

parent 15feef3a
No related branches found
No related tags found
No related merge requests found
#pragma once
#include <optional>
#include <random>
#include "../sampling/Sampler.h"
......@@ -11,12 +12,14 @@ class Material {
public:
virtual util::Vec3 albedo(const std::pair<float, float>& uv) const = 0;
virtual util::Vec3 emission(const std::pair<float, float>& uv) const = 0;
virtual std::pair<float, float> sampleEmissionProfile() const = 0;
virtual util::Vec3 scattered_d(const util::Vec3& d,
const util::Vec3& n) const = 0;
virtual bool scatter(const util::Vec3& d, const util::Vec3& n) const = 0;
virtual float calculateLightMultiplier(const util::Vec3& d_in,
const util::Vec3& d_out,
const util::Vec3& n) const = 0;
virtual std::optional<float> emission_pdf(float u, float v) const = 0;
};
util::Vec3 reflection(const util::Vec3& d, const util::Vec3& n);
} // namespace material
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment