2
3
4
5
9#include "Render/Renderer/Renderer.h"
14
15
16
22
23
24
25
26
27
28
29
31 const std::string& rendererName ,
37 :
Renderer(rendererName
, vulkanState
, descriptorPool
, device
, rendererResourcePool
)
41
42
46
47
48
49
55
56
57
61
62
63
67
68
72
73
74
75
76
77
80 VkPipelineLayout& layout ,
#define SPICES_PROFILE_ZONE
uint32_t m_FrameIndex
FrameIndex, varying during 0 - (MaxFrameInFlight - 1). Used almost anywhere.
static FrameInfo & Get()
Get FrameInfo.
uint32_t m_ImageIndex
ImageIndex, varying during 0 - (MaxFrameInFlight - 1). Used in swapchain index and framebuffer index.
FrameInfo Class. This class defines the FrameInfo data.
Material Class. This class contains a branch of parameter and shader, also descriptor.
MeshPack Class. This class defines some basic behaves and variables. This class need to be inherited ...
virtual void Render(TimeStep &ts, FrameInfo &frameInfo) override
The interface is inherited from Renderer.
virtual void CreateRendererPass() override
The interface is inherited from Renderer. Create Specific Renderer pass.
virtual void CreatePipeline(std::shared_ptr< Material > material, VkPipelineLayout &layout, std::shared_ptr< RendererSubPass > subPass) override
The interface is inherited from Renderer. Create Material Specific Pipeline.
virtual void CreateDescriptorSet() override
The interface is inherited from Renderer. Create specific descriptor set for sub pass.
ParticleRenderer(const std::string &rendererName, VulkanState &vulkanState, const std::shared_ptr< VulkanDescriptorPool > &descriptorPool, const std::shared_ptr< VulkanDevice > &device, const std::shared_ptr< RendererResourcePool > &rendererResourcePool)
Constructor Function. Init member variables.
virtual ~ParticleRenderer() override=default
Destructor Function.
virtual void OnMeshAddedWorld() override
ParticleRenderer Class. This class defines the particle render behaves.
RendererResourcePool Class. This class is a pool of all framebuffer's attachment.
This Class Combines some data relative to sub pass. Usually as a member variable of RendererPass.
void Dispatch(uint32_t x, uint32_t y, uint32_t z) const
Dispatch Compute Shader.
This class helps to bind pipeline and bind buffer. Specific for pure Compute Renderer....
void EndRecording() const
End recording all this behaveS does.
void Recording(const std::string &caption) const
Recording all this behaves does.
RendererPassBuilder & EndSubPass()
End recording a sub pass.
void Build() const
Build the RendererPass.
RendererPassBuilder & AddSubPass(const std::string &subPassName, Querier::StatisticsFlags flags=Querier::ALL)
Add a new SubPass to Renderer Pass.
Renderer(const std::string &rendererName, VulkanState &vulkanState, const std::shared_ptr< VulkanDescriptorPool > &DescriptorPool, const std::shared_ptr< VulkanDevice > &device, const std::shared_ptr< RendererResourcePool > &rendererResourcePool, bool isLoadDefaultMaterial=true)
Constructor Function. Init member variables.
virtual void OnSystemInitialize()
This interface is called on render system is registered. Initialize the specific renderer's pipeline,...
VulkanState & m_VulkanState
This variable is passed while renderer instanced.
Renderer Class. This class defines the basic behaves of renderer. When we add an new Renderer,...
TagComponent Class. This class defines the specific behaves of TagComponent.
This Class handles our engine time step during frames. Global Unique.
This Class is a Wrapper of VulkanBuffer.
VulkanDescriptorPool Class. This class is the wrapper of VkDescriptorPool.
VulkanInstance Class. This class defines the VulkanDevice behave. This class is just a wrapper of vkd...
This struct contains all Vulkan object in used global.