BsD3D11MultiRenderTexture.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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 "BsMultiRenderTexture.h"
  6. namespace BansheeEngine
  7. {
  8. /** @addtogroup D3D11
  9. * @{
  10. */
  11. class D3D11MultiRenderTexture;
  12. /**
  13. * DirectX 11 implementation of a render texture with multiple color surfaces.
  14. *
  15. * @note Core thread only.
  16. */
  17. class BS_D3D11_EXPORT D3D11MultiRenderTextureCore : public MultiRenderTextureCore
  18. {
  19. public:
  20. D3D11MultiRenderTextureCore(const MULTI_RENDER_TEXTURE_CORE_DESC& desc);
  21. virtual ~D3D11MultiRenderTextureCore();
  22. /** @copydoc MultiRenderTextureCore::getCustomAttribute */
  23. void getCustomAttribute(const String& name, void* pData) const override;
  24. protected:
  25. friend class D3D11MultiRenderTexture;
  26. /** @copydoc MultiRenderTextureCore::getProperties */
  27. const RenderTargetProperties& getPropertiesInternal() const override { return mProperties; }
  28. MultiRenderTextureProperties mProperties;
  29. };
  30. /**
  31. * DirectX 11 implementation of a render texture with multiple color surfaces.
  32. *
  33. * @note Sim thread only.
  34. */
  35. class BS_D3D11_EXPORT D3D11MultiRenderTexture : public MultiRenderTexture
  36. {
  37. public:
  38. virtual ~D3D11MultiRenderTexture() { }
  39. protected:
  40. friend class D3D11TextureManager;
  41. D3D11MultiRenderTexture(const MULTI_RENDER_TEXTURE_DESC& desc);
  42. /** @copydoc MultiRenderTexture::getProperties */
  43. const RenderTargetProperties& getPropertiesInternal() const override { return mProperties; }
  44. MultiRenderTextureProperties mProperties;
  45. };
  46. /** @} */
  47. }