KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Texture.h
Go to the documentation of this file.
1
10#pragma once
11
12namespace Karma
13{
19 class VulkanTexture;
20
37
45 {
46 public:
52 Texture();
53
63 Texture(TextureType tType, const char* filename, std::string textureName, std::string textureShaderName);
64
70 ~Texture();
71
72 // Getters
78 const std::string& GetTextureName() const { return m_TName; }
79
85 const std::string& GetTextureShaderName() const { return m_TShaderName; }
86
93 std::shared_ptr<VulkanTexture> GetVulkanTexture() const { return m_VulkanTexture; }
94
95 private:
96 TextureType m_TType;
97 std::string m_TName;
98
99 // Name to be used for identification in the shaders
100 std::string m_TShaderName;
101
102 // For Vulkan specific purposes
103 std::shared_ptr<VulkanTexture> m_VulkanTexture;
104 };
105}
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
@ None
Events of the unknown category.
Definition Event.h:35
TextureType
An enum for classifying textures supported and used by the Engine.
Definition Texture.h:27
@ DiffusionMap
Definition Texture.h:35
@ Image
Definition Texture.h:31
@ LightMap
Definition Texture.h:33
const std::string & GetTextureShaderName() const
Getter for Texture Shader name.
Definition Texture.h:85
Texture()
A constructor.
Definition Texture.cpp:8
std::shared_ptr< VulkanTexture > GetVulkanTexture() const
Getter for VulkanTexture.
Definition Texture.h:93
const std::string & GetTextureName() const
Getter for texture name.
Definition Texture.h:78
Vulkan specific implementation of Texture class.
Definition VulkanTexture.h:30