#pragma once #include "Base/Base.hpp" #include "Graphics/Texture.hpp" #include #include namespace Light { class dxSharedContext; class dxTexture: public Texture { private: Ref m_Context; Microsoft::WRL::ComPtr m_Texture2D; Microsoft::WRL::ComPtr m_ShaderResourceView; Microsoft::WRL::ComPtr m_SamplerState; public: dxTexture(unsigned int width, unsigned int height, unsigned int components, unsigned char* pixels, Ref sharedContext, const std::string& filePath); void Bind(unsigned int slot = 0u) override; }; } // namespace Light