DX12Textur.h 1020 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "Textur.h"
  3. struct ID3D12Device;
  4. struct D3D12_RESOURCE_DESC;
  5. struct ID3D12Resource;
  6. struct ID3D12GraphicsCommandList;
  7. namespace Framework
  8. {
  9. class DX12Textur : public Textur
  10. {
  11. private:
  12. ID3D12Resource* buffer;
  13. ID3D12Resource* intermediate;
  14. ID3D12Device* device;
  15. DX12CopyCommandQueue* copy;
  16. DX12DirectCommandQueue* direct;
  17. bool shaderResource;
  18. public:
  19. DLLEXPORT DX12Textur(ID3D12Device* device,
  20. DX12CopyCommandQueue* copy,
  21. DX12DirectCommandQueue* direct);
  22. DLLEXPORT ~DX12Textur();
  23. //! Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in
  24. //! den Graphikspeicher kopiert
  25. DLLEXPORT bool updateTextur() override;
  26. //! Gibt true zurük, wenn updateTextur aufgerufen werden muss
  27. DLLEXPORT bool brauchtUpdate() const override;
  28. //! Gibt die DX12 Resource zurück
  29. DLLEXPORT ID3D12Resource* getResource();
  30. };
  31. } // namespace Framework