|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/RenderAPI/Vulkan/VKSwapchain.hpp>
Protected Attributes | |
| VkSurfaceKHR | mSurface = VK_NULL_HANDLE |
| The Vulkan surface object. | |
| VkSwapchainKHR | mSwapchain = VK_NULL_HANDLE |
| The Vulkan swapchain object. | |
| Vector< VKImagePtr, VKAllocator > | mRenderImages {gVKAllocator()} |
| The Vulkan framebuffer object. | |
| VKCommandQueuePtr | mPresentQueue |
| The Vulkan presentation queue. | |
| UInt32 | mCurrentRenderImageIndex = 0 |
| The currently active swapchain index. | |
| SmallVector< VkSemaphore, 3 > | mImageAvailableSemaphore |
| The Vulkan available semaphore. | |
| SmallVector< VkSemaphore, 3 > | mRenderFinishedSemaphore |
| The Vulkan render finished semaphore. | |
| GPUSwapchainDescriptor | mDescriptor |
| The swapchain descriptor. | |
| size_t | mCurrentFrame = 0 |
Private Member Functions | |
| void | recreate () |
| Recrreates the Vulkan swapchain. | |
Additional Inherited Members | |
Public Types inherited from CeresEngine::TDeviceObject< GPUSwapchainDescriptor > | |
| using | Descriptor = GPUSwapchainDescriptor |
| An type-alias to the descriptor struct type. | |
Static Public Member Functions inherited from CeresEngine::VKObject< ChildTypeName, ParentType > | |
| static RC< ChildTypeName > | cast (const RC< ParentType > &ptr) |
Casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName. | |
| static ChildTypeName & | cast (ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName & | cast (const ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static ChildTypeName * | cast (ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName * | cast (const ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
Static Public Member Functions inherited from CeresEngine::VKObjectBase | |
| static void * | operator new (size_t size) noexcept |
| static void | operator delete (void *p, std::size_t sz) noexcept |
Public Attributes inherited from CeresEngine::TDeviceObject< GPUSwapchainDescriptor > | |
| const Descriptor & | descriptor |
| A structure that describes the object and it's properties. | |
Public Attributes inherited from CeresEngine::GPUDeviceObject | |
| GPUDevice & | device |
| The owning device this object was created from. | |
Public Attributes inherited from CeresEngine::VKDeviceObjectBase | |
| VKDevice & | deviceVK |
The owning VKDevice instance. | |
Protected Member Functions inherited from CeresEngine::GPUObject | |
| virtual void | destroy () noexcept |
| A internal method called by the system when the object reference count reaches zero. | |
Protected Member Functions inherited from CeresEngine::VKDeviceObject< VKSwapchain, GPUSwapchain > | |
| VKDeviceObject (VKDevice &device) noexcept | |
Creates a new VKDeviceObject from the given device. | |
|
explicit |
Creates a new VKSwapchain for the given device
| device | The device to create a swapchain for |
| descriptor | The swapchain descriptor |
| surface | The Vulkan surface |
|
override |
Destroys the VKSwapchain object.
| VkSemaphore CeresEngine::VKSwapchain::getImageAvailableSemaphore | ( | ) | const |
| VkSemaphore CeresEngine::VKSwapchain::getRenderFinishedSemaphore | ( | ) | const |
|
overridevirtual |
Implements CeresEngine::GPUSwapchain.
|
overridevirtual |
Presents a image from the getSwapchain. The command buffer that signals.
Implements CeresEngine::GPUSwapchain.
|
private |
Recrreates the Vulkan swapchain.
|
protected |
|
protected |
The currently active swapchain index.
|
protected |
The swapchain descriptor.
|
protected |
The Vulkan available semaphore.
|
protected |
The Vulkan presentation queue.
|
protected |
The Vulkan render finished semaphore.
|
protected |
The Vulkan framebuffer object.
|
protected |
The Vulkan surface object.
|
protected |
The Vulkan swapchain object.