39struct VkVertexInputAttributeDescription;
40struct VkVertexInputBindingDescription;
41struct VkPipelineShaderStageCreateInfo;
44 class GraphicsUpdateArguments;
69#ifdef VULKAN_FAN_CONVERSION
71 void clearFanToStripBounds();
72 void removeFanToStripBounds(
UUID bounds_id);
98#ifdef VULKAN_FAN_CONVERSION
A bitset that stores 8 bits (elements with only two possible values: 0 or 1, true or false,...
Definition BitFlag.hpp:68
A specification of upper and lower bounds in N-dimensions.
Definition Bounds.hpp:57
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 GraphicsUpdateArguments.h:40
Definition MemoryManager.h:283
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
Definition VulkanVertexManager.h:46
DynamicPointer< GraphicsBuffer > m_index_buffer
Definition VulkanVertexManager.h:87
ConstPointer< GraphicsBuffer > indexBuffer() const
Definition VulkanVertexManager.cpp:507
void updateBuffer(const Scene &scene, GraphicsUpdateArguments &args)
Definition VulkanVertexManager.cpp:26
DynamicPointer< VulkanShaderManager > m_shader_manager
Definition VulkanVertexManager.h:91
void updateVertexBuffer(const Scene &scene, GraphicsUpdateArguments &args, VertexProperty property)
Definition VulkanVertexManager.cpp:146
Buffer< VkVertexInputBindingDescription, uint04, ObjectAllocator< true > > bindingDescriptions(GraphicsUpdateArguments &args, const String &extra_property, uint04 offset) const
Definition VulkanVertexManager.cpp:447
ConstPointer< GraphicsBuffer > getRenderBuffer(const Scene &scene, const String &channel) const
Definition VulkanVertexManager.cpp:613
void createPipeline(GraphicsUpdateArguments &args, DynamicPointer< VulkanShaderManager > &shader_manager)
Definition VulkanVertexManager.cpp:518
Time lastDependencyUpdate() const
Definition VulkanVertexManager.h:51
VkIndexType indexType() const
Definition VulkanVertexManager.cpp:413
VulkanVertexManager(const ConstPointer< VulkanDevice > &device)
Definition VulkanVertexManager.cpp:6
ConstPointer< VulkanShader > getShader(PrimitiveMode mode, bool has_grid, bool has_image) const
Definition VulkanVertexManager.cpp:473
void updateExtraBuffer(GraphicsUpdateArguments &args, const String &extra_property)
Definition VulkanVertexManager.cpp:306
DynamicPointer< GraphicsBuffer > m_vertex_buffer[cast< uint04 >(VertexProperty::BitFlag)+1]
Definition VulkanVertexManager.h:89
Time m_last_push_update_time
Definition VulkanVertexManager.h:95
Buffer< VkVertexInputAttributeDescription, uint04, ObjectAllocator< true > > attributeDescriptions(GraphicsUpdateArguments &args, const String &extra_property, uint04 offset) const
Definition VulkanVertexManager.cpp:427
void updateIndexBuffer(const Scene &scene, GraphicsUpdateArguments &args)
Definition VulkanVertexManager.cpp:66
BitFlag vertexFlags() const
Definition VulkanVertexManager.h:67
bool m_using_vertex_buffer[cast< uint04 >(VertexProperty::BitFlag)+1]
Definition VulkanVertexManager.h:90
VulkanVertexManager(const VulkanVertexManager &m_pipeline)=delete
bool m_needs_pipeline_update
Definition VulkanVertexManager.h:96
ConstPointer< VulkanDevice > m_device
Definition VulkanVertexManager.h:86
Time m_last_updated_time
Definition VulkanVertexManager.h:94
void updateUniformBuffer(GraphicsUpdateArguments &args)
Definition VulkanVertexManager.cpp:214
UUID m_scene
Definition VulkanVertexManager.h:80
UUID scene() const
Definition VulkanVertexManager.h:78
BitFlag m_vertex_flags
Definition VulkanVertexManager.h:93
bool m_needs_index_buffer_update
Definition VulkanVertexManager.h:97
VkVertexInputAttributeDescription getAttribute(const Scene &scene, const String &channel, uint04 offset) const
Definition VulkanVertexManager.cpp:582
VkVertexInputBindingDescription getDescription(const Scene &scene, const String &channel, uint04 offset) const
Definition VulkanVertexManager.cpp:564
Time lastUpdateTime() const
Definition VulkanVertexManager.h:52
DynamicPointer< GraphicsBuffer > m_vertex_flags_buffer
Definition VulkanVertexManager.h:88
~VulkanVertexManager()
Definition VulkanVertexManager.cpp:21
void getShaderCreateInfo(PrimitiveMode mode, Buffer< VkPipelineShaderStageCreateInfo, uint04, ObjectAllocator< true > > &buffer, bool has_grid, bool has_image) const
Definition VulkanVertexManager.cpp:461
void commit()
Definition VulkanVertexManager.cpp:303
void setScene(const Scene &scene)
Definition VulkanVertexManager.cpp:298
void updateShader(const Scene &scene, GraphicsUpdateArguments &args, DynamicPointer< VulkanShaderManager > &shader_manager)
Definition VulkanVertexManager.cpp:641
uint04 vertexSize() const
Definition VulkanVertexManager.h:77
Dictionary< String, DynamicPointer< GraphicsBuffer > > m_extra_properties
Definition VulkanVertexManager.h:92
Buffer< VkBuffer > getRenderBuffers(GraphicsUpdateArguments &args, const String &extra_property) const
Definition VulkanVertexManager.cpp:377
VertexProperty
Definition DesignObjectBase.h:52
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
constexpr t_to cast(const Angle< t_from > &value)
Definition Angle.h:514