Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.7.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LambertianMaterial.hpp
1#pragma once
2
3#include <Engine/Data/SimpleMaterial.hpp>
4#include <Engine/RaEngine.hpp>
5#include <nlohmann/json.hpp>
6#include <string>
7
8namespace Ra {
9namespace Engine {
10namespace Data {
11
12namespace TextureSemantics {
16} // namespace TextureSemantics
17
29class RA_ENGINE_API LambertianMaterial final : public SimpleMaterial
30{
31 public:
36 explicit LambertianMaterial( const std::string& instanceName );
37
38 ~LambertianMaterial() override = default;
39
45 static void registerMaterial();
46
51 static void unregisterMaterial();
52
53 void updateFromParameters() override;
54
55 nlohmann::json getParametersMetadata() const override;
56
57 private:
58 static nlohmann::json s_parametersMetadata;
59};
60
61} // namespace Data
62} // namespace Engine
63} // namespace Ra
Implementation of the Lambertian Material BSDF.
Base implementation for simple, monocolored, materials.
SimpleMaterial
SimpleMaterial's textures.
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:4