State
The class definitions for the Vulkan state nodes of the scene graph can be found in the VulkanSceneGraph/include/vsg/state directory. Examples that illustrate use of various state classes can be found in the vsgExamples/examples/state directory,
Scene graph state nodes
Class | Header | Functionality |
---|---|---|
vsg::StateCommand | StateCommand.h | Base class for state commands - binding pipelines & descriptors |
vsg::StateGroup | StateGroup.h | State group node that provides a list of StateCommands to decorate a subgraph |
vsg::Light | Light.h | Light node provides all the settings for positioning a light source, and controlling its type and color |
State commands
Class | Header | Functionality |
---|---|---|
vsg::BindComputePipeline | ComputePipeline.h | Bind the compute pipeline |
vsg::BindGraphicsPipeline | GraphicsPipeline.h | Bind the graphics pipeline |
vsg::BindDescriptorSet | BindDescriptorSet.h | Bind descriptor sets to current pipeline |
vsg::PushConstants | PushConstants.h | Apply push constants using vkCmdPushConstants |
vsg::StateSwitch | StateSwitch.h | applies child state commands which pass mask test |
Shaders, Descriptor and Pipeline layout
Class | Header | Functionality |
---|---|---|
vsg::ShaderModule etc. | ShaderModule.h | Settings for vkShaderModule |
vsg::ShaderStage | ShaderStage.h | Settings for vkShaderStage |
vsg::DescriptorSetLayout | DescriptorSetLayout.h | Settings for VkDescriptorSetLayout |
vsg::PipelineLayout | PipelineLayout.h | Settings for VkPipelineLayout |
Graphics pipeline state
Class | Header | Functionality |
---|---|---|
vsg::ColorBlendState | ColorBlendState.h | VkPipelineColorBlendStateCreateInfo |
vsg::DepthStencilState | DepthStencilState.h | VkPipelineDepthStencilStateCreateInfo |
vsg::InputAssemblyState | InputAssemblyState.h | VkPipelineInputAssemblyStateCreateInfo |
vsg::DynamicState | DynamicState.h | VkPipelineDynamicStateCreateInfo |
vsg::MultisampleState | MultisampleState.h | VkPipelineMultisampleStateCreateInfo |
vsg::RasterizationState | RasterizationState.h | VkPipelineRasterizationStateCreateInfo |
vsg::TessellationState | TessellationState.h | VkPipelineTessellationStateCreateInfo |
vsg::VertexInputState | VertexInputState.h | VkPipelineVertexInputStateCreateInfo |
vsg::ViewportState | ViewportState.h | VkPipelineViewportStateCreateInfo |
Descriptor state
Class | Header | Functionality |
---|---|---|
vsg::BindDescriptorSet etc. | BindDescriptorSet.h | Encapsulates vkCmdBindDescriptors |
vsg::DescriptorSet | DescriptorSet.h | Encapsulates VkDescriptorSet |
vsg::Descriptor | Descriptor.h | Base class for Descriptors |
vsg::DescriptorBuffer | DescriptorBuffer.h | Encapsulates VkWriteDescriptorSet.pBufferInfo |
vsg::DescriptorImage | DescriptorImage.h | Encapsulates VkWriteDescriptorSet.pImageInfo |
vsg::DescriptorTexelBufferView | DescriptorTexelBufferView.h | Encapsulates VkWriteDescriptorSet.pTexelBufferViews |
vsg::Buffer | Buffer.h | Encapsulates VkBuffer |
vsg::material | material.h | Material vsg::Data types |
vsg::BufferInfo | BufferInfo.h | Encapsulates VkDescriptorBufferInfo |
vsg::BufferView | BufferView.h | Encapsulates VkBufferView |
vsg::Sampler | Sampler.h | Encapsulates VkSampler |
vsg::Image | Image.h | Encapsulation of VkImage |
vsg::ImageView | ImageView.h | Encapsulation of VkImageView |
vsg::ImageInfo | ImageInfo.h | Encapsulates VkDescriptorImageInfo |
General support classes
Class | Header | Functionality |
---|---|---|
vsg::ResourceHints etc. | ResourceHints.h | Hints that can be assigned to a scene graph as user data to specify the GPU resources required. |
vsg::ArrayState etc. | ArrayState.h | vsg::ArrayState base class for mapping vertex shader behavior on CPU |
vsg::ViewDependentState etc. | ViewDependentState.h | View dependent state classes |
vsg::QueryPool | QueryPool.h | Encapsulates VkQueryPool, used with vsg::BeginQuery etc. |
Prev: Commands | Next: Mesh Shaders |