KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
VulkanTexture.h
Go to the documentation of this file.
1
10#pragma once
11
13#include "VulkanBuffer.h"
14
15namespace Karma
16{
17 class FVulkanDevice;
18
29 class VulkanTexture : public Texture
30 {
31 public:
38
48 VulkanTexture(FVulkanDevice* InDevice, const char* filename);
49
59
78 void CreateTextureImage(VulkanImageBuffer* vImageBuffer);
79
86
95
107 void GenerateVulkanTexture(VulkanImageBuffer* vImageBuffer);
108
109 // Getters
110 VkImageView GetImageView() const { return m_TextureImageView; }
111 VkSampler GetImageSampler() const { return m_TextureSampler; }
112
113 private:
114 // VulkanRHI stuff
115 FVulkanDevice* m_Device;
116
117 // Vulkan context relevant stuff
118 VkDevice m_LogicalDevice;
119 VkPhysicalDevice m_GPU;
120
121 // Texture relevant stuff
122 VkImage m_TextureImage;
123
124 VkDeviceMemory m_TextureImageMemory;
125 VkImageView m_TextureImageView;
126 VkSampler m_TextureSampler;
127 };
128}
This file contains the SkeletalMesh class.
This file contains VulkanVertex/Index/ImageBuffer classes.
Manages Vulkan device resources and operations.
Definition VulkanDevice.h:33
Texture()
A constructor.
Definition Texture.cpp:8
Vulkan specific implemetation of ImageBuffer class.
Definition VulkanBuffer.h:359
VulkanTexture()
A constructor.
Definition VulkanTexture.cpp:8
void CreateTextureImage(VulkanImageBuffer *vImageBuffer)
Creates Vulkan image for the texture and allocates device memory appropriately.
Definition VulkanTexture.cpp:49
void GenerateVulkanTexture(VulkanImageBuffer *vImageBuffer)
Generates the Vulkan texture by creating the image, image view, and sampler.
Definition VulkanTexture.cpp:42
void CreateTextureImageView()
Creates the image view for the texture.
Definition VulkanTexture.cpp:86
void CreateTextureSampler()
Creates the texture sampler.
Definition VulkanTexture.cpp:104
~VulkanTexture()
A destructor.
Definition VulkanTexture.cpp:34