Owns Vulkan resources for a sampled cubemap texture.
More...
#include <CubemapTexture.h>
Owns Vulkan resources for a sampled cubemap texture.
CubemapTexture uploads CubemapTextureData into a cube-compatible Vulkan image, creates a cube image view, and gets a clamp-to-edge sampler from the application sampler cache. The texture owns the image, memory, and image view. It does not own the ApplicationContext.
Definition at line 71 of file CubemapTexture.h.
◆ CubemapTexture() [1/4]
| Engine::Assets::CubemapTexture::CubemapTexture |
( |
| ) |
|
|
default |
◆ CubemapTexture() [2/4]
Creates a cubemap texture from CPU data and an application context.
- Parameters
-
| data | CPU-side cubemap data to upload later. |
| context | Application context used for Vulkan device access. Must outlive this texture. |
◆ ~CubemapTexture()
| Engine::Assets::CubemapTexture::~CubemapTexture |
( |
| ) |
|
Releases owned Vulkan resources.
◆ CubemapTexture() [3/4]
| Engine::Assets::CubemapTexture::CubemapTexture |
( |
const CubemapTexture & | | ) |
|
|
delete |
◆ CubemapTexture() [4/4]
| Engine::Assets::CubemapTexture::CubemapTexture |
( |
CubemapTexture && | other | ) |
|
|
noexcept |
◆ cleanup()
| void Engine::Assets::CubemapTexture::cleanup |
( |
| ) |
|
Releases the Vulkan image, image memory, and image view.
◆ createResourcesAndUpload()
| void Engine::Assets::CubemapTexture::createResourcesAndUpload |
( |
VkCommandPool | commandPool, |
|
|
VkQueue | queue ) |
Creates Vulkan resources and uploads all cubemap faces.
- Parameters
-
| commandPool | Command pool used for the one-time upload command buffer. |
| queue | Queue used to submit the upload command buffer. |
- Exceptions
-
| std::runtime_error | When the context or image data is missing, or Vulkan resource creation fails. |
◆ getDescriptorInfo()
| VkDescriptorImageInfo Engine::Assets::CubemapTexture::getDescriptorInfo |
( |
| ) |
const |
|
nodiscard |
Gets descriptor data for shader sampling.
- Returns
- Descriptor image info with sampler, cube image view, and shader-read layout.
◆ isValid()
| bool Engine::Assets::CubemapTexture::isValid |
( |
| ) |
const |
|
inlinenodiscard |
Checks whether the texture has sampling resources.
- Returns
- True when both the image view and sampler are valid.
Definition at line 130 of file CubemapTexture.h.
References imageView_, and sampler_.
◆ operator=() [1/2]
◆ operator=() [2/2]
Move-assigns a cubemap texture and transfers Vulkan handles.
- Parameters
-
- Returns
- This texture.
References CubemapTexture().
◆ resetHandles()
| void Engine::Assets::CubemapTexture::resetHandles |
( |
| ) |
|
|
private |
◆ context_
◆ data_
◆ image_
| VkImage Engine::Assets::CubemapTexture::image_ = VK_NULL_HANDLE |
|
private |
◆ imageView_
| VkImageView Engine::Assets::CubemapTexture::imageView_ = VK_NULL_HANDLE |
|
private |
◆ memory_
| VkDeviceMemory Engine::Assets::CubemapTexture::memory_ = VK_NULL_HANDLE |
|
private |
◆ sampler_
| VkSampler Engine::Assets::CubemapTexture::sampler_ = VK_NULL_HANDLE |
|
private |
The documentation for this class was generated from the following file:
- /home/magerbeton/Documents/gl3-vulkan/Engine/include/Engine/Texture/CubemapTexture.h