BsD3D11RenderTexture.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsD3D11Prerequisites.h"
  5. #include "BsTexture.h"
  6. #include "BsRenderTexture.h"
  7. namespace BansheeEngine
  8. {
  9. class D3D11RenderTexture;
  10. /**
  11. * DirectX 11 implementation of a render texture.
  12. *
  13. * @note Core thread only.
  14. */
  15. class D3D11RenderTextureCore : public RenderTextureCore
  16. {
  17. public:
  18. D3D11RenderTextureCore(const RENDER_TEXTURE_CORE_DESC& desc);
  19. virtual ~D3D11RenderTextureCore() { }
  20. /** @copydoc RenderTextureCore::getCustomAttribute */
  21. void getCustomAttribute(const String& name, void* pData) const override;
  22. protected:
  23. /** @copydoc RenderTextureCore::getProperties */
  24. const RenderTargetProperties& getPropertiesInternal() const override { return mProperties; }
  25. RenderTextureProperties mProperties;
  26. };
  27. /**
  28. * DirectX 11 implementation of a render texture.
  29. *
  30. * @note Sim thread only.
  31. */
  32. class D3D11RenderTexture : public RenderTexture
  33. {
  34. public:
  35. virtual ~D3D11RenderTexture() { }
  36. protected:
  37. friend class D3D11TextureManager;
  38. D3D11RenderTexture(const RENDER_TEXTURE_DESC& desc);
  39. /** @copydoc RenderTexture::getProperties */
  40. const RenderTargetProperties& getPropertiesInternal() const override { return mProperties; }
  41. RenderTextureProperties mProperties;
  42. };
  43. }