API Documentation
|
Manages all vertices in a specific Scene object for interfacing with Vulkan. More...
#include <VulkanVertexManager.h>
Public Member Functions | |
Buffer< VkVertexInputAttributeDescription, uint04, ObjectAllocator< true > > | attributeDescriptions (GraphicsUpdateArguments &args, const String &extra_property, uint04 offset) const |
Buffer< VkVertexInputBindingDescription, uint04, ObjectAllocator< true > > | bindingDescriptions (GraphicsUpdateArguments &args, const String &extra_property, uint04 offset) const |
void | commit () |
void | createPipeline (GraphicsUpdateArguments &args, DynamicPointer< VulkanShaderManager > &shader_manager) |
VkVertexInputAttributeDescription | getAttribute (const Scene &scene, const String &channel, uint04 offset) const |
VkVertexInputBindingDescription | getDescription (const Scene &scene, const String &channel, uint04 offset) const |
ConstPointer< GraphicsBuffer > | getRenderBuffer (const Scene &scene, const String &channel) const |
Buffer< VkBuffer > | getRenderBuffers (GraphicsUpdateArguments &args, const String &extra_property) const |
ConstPointer< VulkanShader > | getShader (PrimitiveMode mode, bool has_grid, bool has_image) const |
void | getShaderCreateInfo (PrimitiveMode mode, Buffer< VkPipelineShaderStageCreateInfo, uint04, ObjectAllocator< true > > &buffer, bool has_grid, bool has_image) const |
ConstPointer< GraphicsBuffer > | indexBuffer () const |
VkIndexType | indexType () const |
Time | lastDependencyUpdate () const |
Time | lastUpdateTime () const |
UUID | scene () const |
void | setScene (const Scene &scene) |
void | updateExtraBuffer (GraphicsUpdateArguments &args, const Scene &scene, const String &extra_property) |
void | updateExtraBuffer (GraphicsUpdateArguments &args, const String &extra_property) |
void | updateUniformBuffer (GraphicsUpdateArguments &args) |
BitFlag | vertexFlags () const |
uint04 | vertexSize () const |
VulkanVertexManager (const ConstPointer< VulkanDevice > &device) | |
VulkanVertexManager (const VulkanVertexManager &m_pipeline)=delete | |
~VulkanVertexManager () | |
Protected Member Functions | |
void | updateBuffer (const Scene &scene, GraphicsUpdateArguments &args) |
void | updateIndexBuffer (const Scene &scene, GraphicsUpdateArguments &args) |
void | updateShader (const Scene &scene, GraphicsUpdateArguments &args, DynamicPointer< VulkanShaderManager > &shader_manager) |
void | updateVertexBuffer (const Scene &scene, GraphicsUpdateArguments &args, VertexProperty property) |
Protected Attributes | |
ConstPointer< VulkanDevice > | m_device |
Dictionary< String, DynamicPointer< GraphicsBuffer > > | m_extra_properties |
DynamicPointer< GraphicsBuffer > | m_index_buffer |
Time | m_last_push_update_time |
Time | m_last_updated_time |
bool | m_needs_index_buffer_update |
bool | m_needs_pipeline_update |
UUID | m_scene |
DynamicPointer< VulkanShaderManager > | m_shader_manager |
bool | m_using_vertex_buffer [cast< uint04 >(VertexProperty::BitFlag)+1] = {false, false, false, false, false, false} |
DynamicPointer< GraphicsBuffer > | m_vertex_buffer [cast< uint04 >(VertexProperty::BitFlag)+1] |
BitFlag | m_vertex_flags |
DynamicPointer< GraphicsBuffer > | m_vertex_flags_buffer |
Manages all vertices in a specific Scene object for interfacing with Vulkan.
VulkanVertexManager | ( | const ConstPointer< VulkanDevice > & | device | ) |
|
delete |
~VulkanVertexManager | ( | ) |
Buffer< VkVertexInputAttributeDescription, uint04, ObjectAllocator< true > > attributeDescriptions | ( | GraphicsUpdateArguments & | args, |
const String & | extra_property, | ||
uint04 | offset ) const |
Buffer< VkVertexInputBindingDescription, uint04, ObjectAllocator< true > > bindingDescriptions | ( | GraphicsUpdateArguments & | args, |
const String & | extra_property, | ||
uint04 | offset ) const |
void commit | ( | ) |
void createPipeline | ( | GraphicsUpdateArguments & | args, |
DynamicPointer< VulkanShaderManager > & | shader_manager ) |
VkVertexInputAttributeDescription getAttribute | ( | const Scene & | scene, |
const String & | channel, | ||
uint04 | offset ) const |
VkVertexInputBindingDescription getDescription | ( | const Scene & | scene, |
const String & | channel, | ||
uint04 | offset ) const |
ConstPointer< GraphicsBuffer > getRenderBuffer | ( | const Scene & | scene, |
const String & | channel ) const |
Buffer< VkBuffer > getRenderBuffers | ( | GraphicsUpdateArguments & | args, |
const String & | extra_property ) const |
ConstPointer< VulkanShader > getShader | ( | PrimitiveMode | mode, |
bool | has_grid, | ||
bool | has_image ) const |
void getShaderCreateInfo | ( | PrimitiveMode | mode, |
Buffer< VkPipelineShaderStageCreateInfo, uint04, ObjectAllocator< true > > & | buffer, | ||
bool | has_grid, | ||
bool | has_image ) const |
ConstPointer< GraphicsBuffer > indexBuffer | ( | ) | const |
VkIndexType indexType | ( | ) | const |
|
inline |
|
inline |
|
inline |
void setScene | ( | const Scene & | scene | ) |
|
protected |
void updateExtraBuffer | ( | GraphicsUpdateArguments & | args, |
const Scene & | scene, | ||
const String & | extra_property ) |
void updateExtraBuffer | ( | GraphicsUpdateArguments & | args, |
const String & | extra_property ) |
|
protected |
|
protected |
void updateUniformBuffer | ( | GraphicsUpdateArguments & | args | ) |
|
protected |
|
inline |
|
inline |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |