CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
VKGraphicsPipeline.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
14
16
17#include <functional>
18
19namespace CeresEngine {
20
21 class VKRenderAPI;
22
23 class VKShaderProgram;
24 class VKPipelineLayout;
25 class VKRenderPass;
26
27 class VKCommandBuffer;
28
89
90} // namespace CeresEngine
#define CE_EXPLICIT_FALSE
Definition Macros.hpp:416
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Definition GPUCommandBuffer.hpp:77
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
Definition GPUGraphicsPipeline.hpp:790
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 VKGraphicsPipeline.hpp:29
VKPipelineLayoutPtr mPipelineLayout
A reference to the pipeline layout object.
Definition VKGraphicsPipeline.hpp:41
void begin(GPUCommandBuffer &commandBuffer) final
void destroy() noexcept final
VkPipeline mPipeline
The pipeline object.
Definition VKGraphicsPipeline.hpp:35
static Allocator & getAllocator() noexcept
Returns the allocator for VKGraphicsPipeline.
const GPUGraphicsPipelineDescriptor descriptorVK
A structure that describes the graphics pipeline and it's properties.
Definition VKGraphicsPipeline.hpp:32
GPUResourceSetPtr createResourceSet(const GPUResourceSetDescriptor &descriptor, UInt32 setIndex=0) final
Vector< Scissor, VKAllocator > mScissors
Specifies an optional list of scissor rectangles.
Definition VKGraphicsPipeline.hpp:54
VKObjectAllocator Allocator
An allocator type used to allocate new VKGraphicsPipeline instances from a memory pool.
Definition VKGraphicsPipeline.hpp:65
VKShaderProgramPtr mShaderProgram
The Vulkan shader program.
Definition VKGraphicsPipeline.hpp:38
void end(GPUCommandBuffer &commandBuffer) final
VKGraphicsPipeline(VKDevice &device, const GPUGraphicsPipelineDescriptor &descriptor)
VKRenderPassPtr mRenderPass
The Vulkan render pass.
Definition VKGraphicsPipeline.hpp:44
Vector< Viewport, VKAllocator > mViewports
Specifies an optional list of viewports.
Definition VKGraphicsPipeline.hpp:48
Definition Application.hpp:19
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
ThreadSafeAllocator< MemoryPool< NodePool, AllocatorReference< VKAllocator > > > VKObjectAllocator
A pool allocator to be used for individual object pools.
Definition VKCommon.hpp:59
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
Definition Span.hpp:668
Definition GPUGraphicsPipeline.hpp:721
Definition GPUResourceSet.hpp:716