BsD3D11MultiRenderTexture.h 1.4 KB

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