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