88 static inline const String formats[6] = {
"points_s",
"points",
"linework",
"solid",
"solid_grid",
"solid_texture" };
#define DEFINE_NON_DISPATCHABLE_HANDLE(object)
Definition VulkanInstance.h:49
uint64_t VkShaderModule
Definition VulkanShader.h:38
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Definition GraphicsPipeline.h:42
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
The core String class for the NDEVR API.
Definition String.h:69
A shader program used to render data in Vulkan.
Definition VulkanShader.h:47
void setInstance(const ConstPointer< VulkanDevice > &device)
void createShader(const File &file)
VulkanShader(const File &file, const ConstPointer< VulkanDevice > &device)
VulkanShader(VulkanShader &&device) noexcept
void createShader(const Buffer< char > &data)
VulkanShader(const Buffer< char > &data, const ConstPointer< VulkanDevice > &device)
VkShaderModule vkShader() const
Definition VulkanShader.h:59
VulkanShader(const ConstPointer< VulkanDevice > &device)
Manages all active shaders in a VulkanSession.
Definition VulkanShader.h:69
void setInstance(const ConstPointer< VulkanDevice > &device)
void addShader(const String &name, ShaderType type, const Buffer< char > &data)
Dictionary< uint08, Buffer< char >[ShaderType::e_shader_type_size]> m_data
Definition VulkanShader.h:91
ConstPointer< VulkanShader > getShader(const String &file, ShaderType type)
ShaderType
Definition VulkanShader.h:72
@ e_simple_points
Definition VulkanShader.h:73
@ e_solid
Definition VulkanShader.h:76
@ e_solid_grid
Definition VulkanShader.h:77
@ e_linework
Definition VulkanShader.h:75
@ e_solid_texture
Definition VulkanShader.h:78
@ e_points
Definition VulkanShader.h:74
@ e_all
Definition VulkanShader.h:80
@ e_shader_type_size
Definition VulkanShader.h:79
void ensureCreated(const String &name)
ConstPointer< VulkanDevice > m_device
Definition VulkanShader.h:92
VulkanShaderManager(const ConstPointer< VulkanDevice > &device)
void addShader(const String &name, ShaderType type, File &file)
Dictionary< uint08, DynamicPointer< VulkanShader >[ShaderType::e_shader_type_size]> m_shader_map
Definition VulkanShader.h:90
static const String formats[6]
Definition VulkanShader.h:88
PrimitiveMode
Used with Geometry to describe how vertices and indices are used to form shapes.
Definition DesignObjectBase.h:116