6#include"../../source/rendering/texture.h"
11 using TexMap = std::map<ResourceHandle, TexturePtr>;
12 using TexNameMap = std::unordered_map<string, TexturePtr>;
14 using CubeMapHash = std::map<ResourceHandle, CubeMapPtr>;
15 using CubeMapNameHash = std::unordered_map<string, CubeMapPtr>;
17 using ImagePointer =
unsigned char*;
24 TexNameMap texNameMap;
26 CubeMapHash cubeMapHash;
27 CubeMapNameHash cubeMapNameHash;
54 CubeMapHandle
createCubeMapByImage(
const std::vector<CubemapFaces> cubemapFaces, std::string cubeMapName);
68 GLenum format = GL_RGBA,
69 GLenum type = GL_UNSIGNED_BYTE,
84 GLenum format = GL_RGBA,
85 GLenum type = GL_UNSIGNED_BYTE,
171 inline TextureManager::TextureManager()
Texture manager. Handles texture creation, storage, and deletion.
Definition texManager.h:20
void removeTextureInGpu(std::string name, bool isCubeMap)
Definition texManager.cpp:163
TextureHandle createTextureByImage(const char *filename, bool flipped)
Definition texManager.cpp:30
CubeMapHandle createCubeMapByImage(const std::vector< CubemapFaces > cubemapFaces, std::string cubeMapName)
Definition texManager.cpp:64
void createCubeMapInGpu(CubeMapPtr const &)
Definition texManager.cpp:149
void freeCubeMapInCpu(const std::string &name)
Definition texManager.cpp:227
void freeAllDataInCpu()
Free all texture memory stored on the CPU.
Definition texManager.cpp:317
CubeMapPtr getCubeMapPtrByName(std::string name)
Definition texManager.cpp:371
CubeMapPtr getCubeMapPtr(CubeMapHandle h)
Definition texManager.cpp:366
GLuint createTextureInGpu(std::string name, int xOffset, int yOffset, GLenum format=GL_RGBA, GLenum type=GL_UNSIGNED_BYTE, int level=0)
Definition texManager.cpp:117
TexturePtr getTexturePtrByName(std::string name)
Definition texManager.cpp:361
TextureHandle getTexturePtrByPath(std::string path)
Definition texManager.cpp:385
void freeTextureInCpu(const TextureHandle &handle)
Definition texManager.cpp:271
TexturePtr getTexturePtr(TextureHandle h)
Definition texManager.cpp:356
bool isloaded(std::string path)
Definition texManager.cpp:376
Struct to identify cubemap faces.
Definition texManager.h:45
const char * filename
Path to a texture on disk.
Definition texManager.h:46
bool flipped
True if the texture should be vertically flipped.
Definition texManager.h:47