#pragma once class DiffuseOpacityMaterial_Skinned : public Material { public: DiffuseOpacityMaterial_Skinned(); ~DiffuseOpacityMaterial_Skinned() override = default; DiffuseOpacityMaterial_Skinned(const DiffuseOpacityMaterial_Skinned& other) = delete; DiffuseOpacityMaterial_Skinned(DiffuseOpacityMaterial_Skinned&& other) noexcept = delete; DiffuseOpacityMaterial_Skinned& operator=(const DiffuseOpacityMaterial_Skinned& other) = delete; DiffuseOpacityMaterial_Skinned& operator=(DiffuseOpacityMaterial_Skinned&& other) noexcept = delete; void SetDiffuseTexture(const std::wstring& assetFile); void SetOpacityTexture(const std::wstring& assetFile); TextureData* GetOpacityTexture() override; void SetIgnoreLightDirection(bool ignoreLightDir); protected: void InitializeEffectVariables() override; void OnUpdateModelVariables(const SceneContext&, const ModelComponent*) const override; private: TextureData* m_pDiffuseTexture{}; TextureData* m_pOpacityTexture{}; };