Aether3D Game Engine
TextureCube.hpp
1 #ifndef TEXTURE_CUBE_H
2 #define TEXTURE_CUBE_H
3 
4 #include <string>
5 #if RENDERER_VULKAN
6 #include <vulkan/vulkan.h>
7 #endif
8 #include "TextureBase.hpp"
9 
10 namespace ae3d
11 {
12  namespace FileSystem
13  {
14  struct FileContentsData;
15  }
16 
18  class TextureCube : public TextureBase
19  {
20  public:
33  void Load( const FileSystem::FileContentsData& negX, const FileSystem::FileContentsData& posX,
36  TextureWrap wrap, TextureFilter filter, Mipmaps mipmaps, ColorSpace colorSpace );
37 
39  const std::string& PosX() const { return posXpath; }
40 
42  const std::string& NegX() const { return negXpath; }
43 
45  const std::string& PosY() const { return posYpath; }
46 
48  const std::string& NegY() const { return negYpath; }
49 
51  const std::string& PosZ() const { return posZpath; }
52 
54  const std::string& NegZ() const { return negZpath; }
55 
56 #if RENDERER_VULKAN
57  VkImageView& GetView() { return view; }
58 #endif
59 #if RENDERER_D3D12
60  static void DestroyTextures();
61 #endif
62  private:
63  std::string posXpath, posYpath, negXpath, negYpath, posZpath, negZpath;
64 #if RENDERER_VULKAN
65  VkImage image = VK_NULL_HANDLE;
66  VkImageView view = VK_NULL_HANDLE;
67  VkDeviceMemory deviceMemory = VK_NULL_HANDLE;
68 #endif
69  };
70 }
71 
72 #endif
const std::string & NegY() const
Definition: TextureCube.hpp:48
const std::string & NegX() const
Definition: TextureCube.hpp:42
const std::string & PosX() const
Definition: TextureCube.hpp:39
Definition: AudioClip.hpp:4
const std::string & PosY() const
Definition: TextureCube.hpp:45
const std::string & PosZ() const
Definition: TextureCube.hpp:51
Cube Map texture.
Definition: TextureCube.hpp:18
const std::string & NegZ() const
Definition: TextureCube.hpp:54
Definition: FileSystem.hpp:12
Base class for textures.
Definition: TextureBase.hpp:54