CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
VKSwapchain.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "VKCommon.hpp"
11
12#include "VKImage.hpp"
13
15
18
19namespace CeresEngine {
20
21 class VKRenderTarget;
22
76
77} // namespace CeresEngine
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
Definition GPUSwapchain.hpp:118
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition VKDevice.hpp:79
Definition VKCommon.hpp:143
Definition VKSwapchain.hpp:23
VkSurfaceKHR mSurface
The Vulkan surface object.
Definition VKSwapchain.hpp:26
~VKSwapchain() override
Destroys the VKSwapchain object.
void present() override
Presents a image from the getSwapchain. The command buffer that signals.
GPUSwapchainDescriptor mDescriptor
The swapchain descriptor.
Definition VKSwapchain.hpp:47
GPUImagePtr nextRenderImage() override
VkSemaphore getImageAvailableSemaphore() const
UInt32 mCurrentRenderImageIndex
The currently active swapchain index.
Definition VKSwapchain.hpp:38
VKSwapchain(VKDevice &device, const GPUSwapchainDescriptor &descriptor, VkSurfaceKHR surface)
Creates a new VKSwapchain for the given device
Vector< VKImagePtr, VKAllocator > mRenderImages
The Vulkan framebuffer object.
Definition VKSwapchain.hpp:32
VkSwapchainKHR mSwapchain
The Vulkan swapchain object.
Definition VKSwapchain.hpp:29
VKCommandQueuePtr mPresentQueue
The Vulkan presentation queue.
Definition VKSwapchain.hpp:35
size_t mCurrentFrame
Definition VKSwapchain.hpp:49
SmallVector< VkSemaphore, 3 > mImageAvailableSemaphore
The Vulkan available semaphore.
Definition VKSwapchain.hpp:41
VkSemaphore getRenderFinishedSemaphore() const
void recreate()
Recrreates the Vulkan swapchain.
SmallVector< VkSemaphore, 3 > mRenderFinishedSemaphore
The Vulkan render finished semaphore.
Definition VKSwapchain.hpp:44
Definition Application.hpp:19
VKAllocator & gVKAllocator()
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
sfl::small_vector< T, N, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > SmallVector
SmallVector is a sequence container similar to Vector.
Definition SmallVector.hpp:31
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Swapchain descriptor structure.
Definition GPUSwapchain.hpp:50