BsD3D11RenderTexture.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. * @brief 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. /**
  21. * @copydoc RenderTextureCore::getCustomAttribute
  22. */
  23. void getCustomAttribute(const String& name, void* pData) const;
  24. protected:
  25. /**
  26. * @copydoc RenderTextureCore::getProperties
  27. */
  28. const RenderTargetProperties& getPropertiesInternal() const { return mProperties; }
  29. RenderTextureProperties mProperties;
  30. };
  31. /**
  32. * @brief DirectX 11 implementation of a render texture.
  33. *
  34. * @note Sim thread only.
  35. */
  36. class D3D11RenderTexture : public RenderTexture
  37. {
  38. public:
  39. virtual ~D3D11RenderTexture() { }
  40. protected:
  41. friend class D3D11TextureManager;
  42. D3D11RenderTexture(const RENDER_TEXTURE_DESC& desc);
  43. /**
  44. * @copydoc RenderTexture::getProperties
  45. */
  46. const RenderTargetProperties& getPropertiesInternal() const { return mProperties; }
  47. RenderTextureProperties mProperties;
  48. };
  49. }