42 class VulkanRenderObject;
43 class VulkanRenderDefinition;
#define DEFINE_NON_DISPATCHABLE_HANDLE(object)
Definition VulkanInstance.h:49
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition GraphicsPipeline.h:42
Definition Dictionary.h:48
Definition Pointer.hpp:303
Definition GraphicsDevice.h:8
Definition GraphicsSession.h:16
Definition GraphicsUpdateArguments.h:40
Definition VulkanCameraManager.h:51
Definition VulkanDevice.h:8
Definition VulkanImage.h:112
Definition VulkanMaterialManager.h:106
Definition VulkanRenderDefinition.h:42
Definition VulkanRenderObject.h:66
Definition VulkanSession.h:45
uint04 m_num_of_materials
Definition VulkanSession.h:117
DynamicPointer< VulkanShaderManager > m_shader_manager
Definition VulkanSession.h:109
void commit(GraphicsUpdateArguments &args) final override
Definition VulkanSession.cpp:655
virtual const ConstPointer< GraphicsDevice > & device() const final override
Definition VulkanSession.h:52
Dictionary< UUID, DynamicPointer< VulkanVertexManager > > m_scene_managers
Definition VulkanSession.h:100
bool createDescriptorPool(GraphicsUpdateArguments &args)
Definition VulkanSession.cpp:681
void removeGeometry(const UUID &mesh) final override
Definition VulkanSession.cpp:65
bool hasCommand() const override
Definition VulkanSession.cpp:672
bool runCommand(GraphicsUpdateArguments &args) final override
Definition VulkanSession.cpp:84
bool m_update_model_pool
Definition VulkanSession.h:121
bool checkAddRenderObject(GraphicsUpdateArguments &args, Model &model)
Definition VulkanSession.cpp:464
void ensureCameraExists(const UUID &camera)
Definition VulkanSession.cpp:123
virtual void cleanResources() final override
Definition VulkanSession.h:81
virtual void ensureLastRenderComplete() final override
Definition VulkanSession.h:79
void setupScene(GraphicsUpdateArguments &args) override
Definition VulkanSession.cpp:404
DynamicPointer< VulkanImageManager > m_image_manager
Definition VulkanSession.h:108
DynamicPointer< GraphicsPipeline > createRenderPipeline() final override
Definition VulkanSession.cpp:399
void clearScene()
Definition VulkanSession.cpp:376
void destroyMaterialManager(const UUID &mat)
Definition VulkanSession.cpp:151
void destroyVertexManager(const UUID &mesh)
Definition VulkanSession.cpp:143
VkPipelineCache m_model_pipeline_cache
Definition VulkanSession.h:115
DynamicPointer< VulkanMaterialManager > getMaterialManager(const Material &mat)
Definition VulkanSession.cpp:264
virtual void postClearAll() final override
Definition VulkanSession.cpp:668
VulkanSession(const DynamicPointer< VulkanDevice > &instance)
Definition VulkanSession.cpp:10
Dictionary< UUID, Dictionary< UUID, Dictionary< PrimitiveMode, VulkanRenderObject * > > > m_render_objects[2]
Definition VulkanSession.h:105
Dictionary< UUID, DynamicPointer< VulkanVertexManager > > m_vertex_managers
Definition VulkanSession.h:101
UUID uuid() const
Definition VulkanSession.h:67
VkDescriptorPool m_descriptor_pool
Definition VulkanSession.h:113
bool createPipeline(GraphicsUpdateArguments &args) final override
Definition VulkanSession.cpp:572
DynamicPointer< VulkanShaderManager > shaderManager()
Definition VulkanSession.h:75
virtual void clearAll()
Definition VulkanSession.cpp:28
void updateUniformBuffer(GraphicsUpdateArguments &args) final override
Definition VulkanSession.cpp:298
void createModelPipeline(GraphicsUpdateArguments &args)
Definition VulkanSession.cpp:786
void destroyCameraManager(const UUID &camera)
Definition VulkanSession.cpp:159
virtual void init(GraphicsUpdateArguments &) final override
Definition VulkanSession.h:82
void destroySceneManager(const UUID &scene)
Definition VulkanSession.cpp:135
virtual void drawFrame(GraphicsUpdateArguments &) final override
Definition VulkanSession.h:78
DynamicPointer< GraphicsDevice > m_graphics_device
Definition VulkanSession.h:111
DynamicPointer< VulkanDevice > m_device
Definition VulkanSession.h:112
bool checkScene(GraphicsUpdateArguments &args)
Definition VulkanSession.cpp:522
virtual const DynamicPointer< GraphicsDevice > & device() final override
Definition VulkanSession.h:53
Buffer< VulkanRenderObject * > m_pipelines
Definition VulkanSession.h:106
uint04 m_num_of_cameras
Definition VulkanSession.h:118
void cleanup() final override
Definition VulkanSession.cpp:241
void setRenderDefinition(const DynamicPointer< VulkanRenderDefinition > &def)
Definition VulkanSession.cpp:80
DynamicPointer< VulkanCameraManager > getCameraManager(const UUID &camera)
Definition VulkanSession.cpp:286
void cleanupOldPipelines(GraphicsUpdateArguments &args)
Definition VulkanSession.cpp:167
uint04 m_num_of_images
Definition VulkanSession.h:116
void ensureExists(const Geometry &mesh)
Definition VulkanSession.cpp:110
~VulkanSession()
Definition VulkanSession.cpp:24
Dictionary< UUID, DynamicPointer< VulkanCameraManager > > m_camera_managers
Definition VulkanSession.h:103
virtual UUID uuid() final override
Definition VulkanSession.h:76
DynamicPointer< VulkanVertexManager > getVertexManager(const Geometry &mesh)
Definition VulkanSession.cpp:75
Dictionary< UUID, DynamicPointer< VulkanMaterialManager > > m_material_managers
Definition VulkanSession.h:102
void removeMaterial(const UUID &material) final override
Definition VulkanSession.cpp:55
DynamicPointer< VulkanRenderDefinition > m_render_definition
Definition VulkanSession.h:110
void addRenderObject(const Scene &scene, const Model &model, const Material &mat, const Geometry &mesh, PrimitiveProperty property) override
Definition VulkanSession.cpp:427
UUID m_uuid
Definition VulkanSession.h:120
void pipelineSort(GraphicsUpdateArguments &args)
Definition VulkanSession.cpp:734
virtual void setWindowInstance(WindowInstance *) final override
Definition VulkanSession.h:80
Definition VulkanVertexManager.h:46
PrimitiveProperty
Definition DesignObjectBase.h:44
PrimitiveMode
Definition DesignObjectBase.h:113
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120