ITexture.h 1013 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <AzCore/base.h>
  10. // Texture formats
  11. enum ETEX_Format : AZ::u8
  12. {
  13. eTF_Unknown = 0,
  14. eTF_R8G8B8A8 = 2, // may be saved into file
  15. eTF_A8 = 4,
  16. eTF_R8,
  17. eTF_R8S,
  18. eTF_R16,
  19. eTF_R16F,
  20. eTF_R32F,
  21. eTF_R8G8,
  22. eTF_R8G8S,
  23. eTF_R16G16,
  24. eTF_MaxFormat // unused, must be always the last in the list
  25. };
  26. struct SDepthTexture;
  27. //////////////////////////////////////////////////////////////////////
  28. // Texture object interface
  29. class ITexture
  30. {
  31. protected:
  32. virtual ~ITexture() {}
  33. public:
  34. virtual int AddRef() = 0;
  35. virtual int Release() = 0;
  36. virtual int ReleaseForce() = 0;
  37. virtual const char* GetName() const = 0;
  38. };
  39. //=========================================================================================