cloudy-raytracer/shader/shader.h
2022-10-28 09:31:13 +02:00

23 lines
399 B
C++

#ifndef SHADER_H
#define SHADER_H
#include "common/color.h"
#include "common/ray.h"
// Forward declarations
class Scene;
class Shader {
public:
// Constructor / Desctructor
Shader() = default;
virtual ~Shader() = default;
// Get
virtual bool isTransparent() const { return false; }
// Shader functions
virtual Color shade(Scene const &scene, Ray const &ray) const = 0;
};
#endif