BsD3D11TextureManager.h 1.6 KB

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