BsD3D11RenderTexture.h 1.2 KB

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