17 #ifndef GZ_RENDERING_MATERIAL_HH_
18 #define GZ_RENDERING_MATERIAL_HH_
22 #include <gz/math/Color.hh>
23 #include <gz/common/Material.hh>
24 #include "gz/rendering/config.hh"
28 #include "gz/rendering/Export.hh"
34 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
87 public:
virtual void SetAmbient(
const double _r,
const double _g,
88 const double _b,
const double _a = 1.0) = 0;
103 public:
virtual void SetDiffuse(
const double _r,
const double _g,
104 const double _b,
const double _a = 1.0) = 0;
119 public:
virtual void SetSpecular(
const double _r,
const double _g,
120 const double _b,
const double _a = 1.0) = 0;
135 public:
virtual void SetEmissive(
const double _r,
const double _g,
136 const double _b,
const double _a = 1.0) = 0;
158 const double near) = 0;
169 double _alpha = 0.5,
bool _twoSided =
true) = 0;
228 this->SetTexture(_texture,
nullptr);
270 this->SetNormalMap(_normalMap,
nullptr);
306 this->SetRoughnessMap(_roughnessMap,
nullptr);
343 this->SetMetalnessMap(_metalnessMap,
nullptr);
380 this->SetEnvironmentMap(_environmentMap,
nullptr);
392 (void)_environmentMap;
417 this->SetEmissiveMap(_emissiveMap,
nullptr);
452 unsigned int _uvSet = 0u)
454 this->SetLightMap(_lightMap,
nullptr, _uvSet);
464 unsigned int _uvSet = 0)