#pragma once #include "Textur.h" struct ID3D12Device; struct D3D12_RESOURCE_DESC; struct ID3D12Resource; struct ID3D12GraphicsCommandList; namespace Framework { class DX12Textur : public Textur { private: ID3D12Resource* buffer; ID3D12Resource* intermediate; ID3D12Device* device; DX12CopyCommandQueue* copy; DX12DirectCommandQueue* direct; bool shaderResource; public: DLLEXPORT DX12Textur(ID3D12Device* device, DX12CopyCommandQueue* copy, DX12DirectCommandQueue* direct); DLLEXPORT ~DX12Textur(); //! Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in //! den Graphikspeicher kopiert DLLEXPORT bool updateTextur() override; //! Gibt true zurük, wenn updateTextur aufgerufen werden muss DLLEXPORT bool brauchtUpdate() const override; //! Gibt die DX12 Resource zurück DLLEXPORT ID3D12Resource* getResource(); }; } // namespace Framework