BsD3D11TextureManager.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 "BsTextureManager.h"
  6. namespace BansheeEngine
  7. {
  8. /**
  9. * @brief Handles creation of DirectX 11 textures.
  10. */
  11. class BS_D3D11_EXPORT D3D11TextureManager : public TextureManager
  12. {
  13. public:
  14. /**
  15. * @copydoc TextureManager::getNativeFormat
  16. */
  17. PixelFormat getNativeFormat(TextureType ttype, PixelFormat format, int usage, bool hwGamma) override;
  18. protected:
  19. /**
  20. * @copydoc TextureManager::createRenderTextureImpl
  21. */
  22. RenderTexturePtr createRenderTextureImpl(const RENDER_TEXTURE_DESC& desc) override;
  23. /**
  24. * @copydoc TextureManager::createMultiRenderTextureImpl
  25. */
  26. MultiRenderTexturePtr createMultiRenderTextureImpl(const MULTI_RENDER_TEXTURE_DESC& desc) override;
  27. };
  28. /**
  29. * @brief Handles creation of DirectX 11 textures.
  30. */
  31. class BS_D3D11_EXPORT D3D11TextureCoreManager : public TextureCoreManager
  32. {
  33. protected:
  34. /**
  35. * @copydoc TextureCoreManager::createTextureInternal
  36. */
  37. SPtr<TextureCore> createTextureInternal(TextureType texType, UINT32 width, UINT32 height, UINT32 depth,
  38. int numMips, PixelFormat format, int usage = TU_DEFAULT, bool hwGammaCorrection = false,
  39. UINT32 multisampleCount = 0, const PixelDataPtr& initialData = nullptr) override;
  40. /**
  41. * @copydoc TextureCoreManager::createRenderTextureInternal
  42. */
  43. SPtr<RenderTextureCore> createRenderTextureInternal(const RENDER_TEXTURE_CORE_DESC& desc) override;
  44. /**
  45. * @copydoc TextureCoreManager::createMultiRenderTextureInternal
  46. */
  47. SPtr<MultiRenderTextureCore> createMultiRenderTextureInternal(const MULTI_RENDER_TEXTURE_CORE_DESC& desc) override;
  48. };
  49. }