17 #ifndef GZ_RENDERING_OGRE2_OGRE2MATERIAL_HH_
18 #define GZ_RENDERING_OGRE2_OGRE2MATERIAL_HH_
27 #pragma warning(push, 0)
29 #include <Hlms/Pbs/OgreHlmsPbsPrerequisites.h>
30 #include <OgreGpuProgramParams.h>
31 #include <OgreMaterial.h>
38 class HlmsPbsDatablock;
39 class HlmsUnlitDatablock;
46 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
49 class Ogre2MaterialPrivate;
87 double _alpha = 0.5,
bool _twoSided =
true)
override;
223 unsigned int _uvSet = 0u)
override;
247 public:
virtual Ogre::HlmsPbsDatablock *
Datablock()
const;
257 Ogre::HlmsUnlitDatablock *_datablock)
const;
264 public:
virtual enum MaterialType Type()
const override;
308 Ogre::PbsTextureTypes _type);
318 Ogre::PbsTextureTypes _type);
329 protected:
virtual void Init()
override;
338 Ogre::GpuProgramParametersSharedPtr _ogreParams);
344 protected: Ogre::HlmsPbsDatablock *ogreDatablock =
nullptr;
347 protected: Ogre::HlmsUnlitDatablock *ogreUnlitDatablock =
nullptr;
350 protected: Ogre::HlmsPbs *ogreHlmsPbs =
nullptr;
374 protected:
unsigned int lightMapUvSet = 0u;