vsg: vsg::GraphicsPipelineConfigurator Class Reference

vsg 1.1.9 VulkanSceneGraph library |

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
vsg::GraphicsPipelineConfigurator Class Reference

GraphicsPipelineConfigurator utility provides a means of setting up state and geometry using ShaderSet as a guide for required layouts/bindings. More...

`#include <GraphicsPipelineConfigurator.h>`

Inheritance diagram for vsg::GraphicsPipelineConfigurator:
[legend]
Collaboration diagram for vsg::GraphicsPipelineConfigurator:
[legend]

## Public Member Functions
| GraphicsPipelineConfigurator (ref_ptr< ShaderSet > in_shaderSet={})
void | traverse (Visitor &visitor) override
void | traverse (ConstVisitor &visitor) const override
void | reset ()
bool | enableArray (const std::string &name, VkVertexInputRate vertexInputRate, uint32_t stride, VkFormat format=VK_FORMAT_UNDEFINED)
bool | enableDescriptor (const std::string &name)
bool | enableTexture (const std::string &name)
bool | assignArray (DataList &arrays, const std::string &name, VkVertexInputRate vertexInputRate, ref_ptr< Data > array)
bool | assignDescriptor (const std::string &name, ref_ptr< Data > data={}, uint32_t dstArrayElement=0)
bool | assignDescriptor (const std::string &name, const BufferInfoList &bufferInfoList, uint32_t dstArrayElement=0)
bool | assignTexture (const std::string &name, ref_ptr< Data > textureData={}, ref_ptr< Sampler > sampler={}, uint32_t dstArrayElement=0)
bool | assignTexture (const std::string &name, const ImageInfoList &imageInfoList, uint32_t dstArrayElement=0)
void | assignInheritedState (const StateCommands &stateCommands)
| set the inherited state which if compatible can hint at the state setup and copying to avoid setting inherited state local subgraph
bool | enableUniform (const std::string &name)
bool | assignUniform (const std::string &name, ref_ptr< Data > data={})
int | compare (const Object &rhs) const override
| compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,
virtual void | init ()
| initialize state objects
virtual ref_ptr< ArrayState > | getSuitableArrayState () const
| convenience function for calling shaderSet->getSuitableArrayState(shaderHints->defines) to return the appropriate ArrayState object
virtual bool | copyTo (StateCommands &stateCommands, ref_ptr< SharedObjects > sharedObjects={})
| copy state objects to StateCommands list, return true if state is added.
virtual bool | copyTo (ref_ptr< StateGroup > stateGroup, ref_ptr< SharedObjects > sharedObjects={})
| copy state objects to StateGroup, return true if state is added.
Public Member Functions inherited from vsg::Inherit< Object, GraphicsPipelineConfigurator >
| Inherit (Args &&... args)
std::size_t | sizeofObject () const noexcept override
const char * | className () const noexcept override
const std::type_info & | type_info () const noexcept override
bool | is_compatible (const std::type_info &type) const noexcept override
int | compare (const Object &rhs) const override
void | accept (Visitor &visitor) override
void | accept (ConstVisitor &visitor) const override
void | accept (RecordTraversal &visitor) const override
Public Member Functions inherited from vsg::Object
| Object (const Object &object, const CopyOp &copyop={})
Object & | operator= (const Object &)
template<class T>
T * | cast ()
template<class T>
const T * | cast () const
virtual ref_ptr< Object > | clone (const CopyOp &copyop={}) const
virtual void | traverse (RecordTraversal &) const
virtual void | read (Input &input)
virtual void | write (Output &output) const
void | ref () const noexcept
void | unref () const noexcept
void | unref_nodelete () const noexcept
unsigned int | referenceCount () const noexcept
template<typename T>
void | setValue (const std::string &key, const T &value)
void | setValue (const std::string &key, const char *value)
| specialization of setValue to handle passing C strings
template<typename T>
bool | getValue (const std::string &key, T &value) const
| get specified value type, return false if value associated with key is not assigned or is not the correct type
void | setObject (const std::string &key, ref_ptr< Object > object)
| assign an Object associated with key
Object * | getObject (const std::string &key)
| get Object pointer associated with key, return nullptr if no object associated with key has been assigned
const Object * | getObject (const std::string &key) const
| get const Object pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
T * | getObject (const std::string &key)
| get object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const T * | getObject (const std::string &key) const
| get const object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< Object > | getRefObject (const std::string &key)
| get ref_ptr<Object> associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< const Object > | getRefObject (const std::string &key) const
| get ref_ptr<const Object> pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
ref_ptr< T > | getRefObject (const std::string &key)
| get ref_ptr<T> of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const ref_ptr< const T > | getRefObject (const std::string &key) const
| get ref_ptr<const T> of specified type associated with key, return nullptr if no object associated with key has been assigned
void | removeObject (const std::string &key)
| remove meta object or value associated with key
Auxiliary * | getOrCreateAuxiliary ()
Auxiliary * | getAuxiliary ()
const Auxiliary * | getAuxiliary () const

## Public Attributes
GraphicsPipelineStates | pipelineStates
uint32_t | subpass = 0
uint32_t | baseAttributeBinding = 0
ref_ptr< ShaderSet > | shaderSet
ref_ptr< ShaderCompileSettings > | shaderHints
ref_ptr< DescriptorConfigurator > | descriptorConfigurator
StateCommands | inheritedState
std::set< uint32_t > | inheritedSets
ref_ptr< PipelineLayout > | layout
ref_ptr< GraphicsPipeline > | graphicsPipeline
ref_ptr< BindGraphicsPipeline > | bindGraphicsPipeline

## Protected Member Functions
void | _assignShaderSetSettings ()
void | _assignInheritedSets ()
Protected Member Functions inherited from vsg::Object
virtual void | _attemptDelete () const
void | setAuxiliary (Auxiliary *auxiliary)

## Additional Inherited Members
Static Public Member Functions inherited from vsg::Inherit< Object, GraphicsPipelineConfigurator >
static ref_ptr< GraphicsPipelineConfigurator > | create (Args &&... args)
static ref_ptr< GraphicsPipelineConfigurator > | create_if (bool flag, Args &&... args)
Static Public Member Functions inherited from vsg::Object
static ref_ptr< Object > | create ()
static ref_ptr< Object > | create_if (bool flag)
static void * | operator new (std::size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_AFFINTY_OBJECTS
static void | operator delete (void *ptr)

## Detailed Description

GraphicsPipelineConfigurator utility provides a means of setting up state and geometry using ShaderSet as a guide for required layouts/bindings.

## Member Function Documentation

## ◆ compare()

int vsg::GraphicsPipelineConfigurator::compare | ( | const Object & | rhs | ) | const
| overridevirtual

compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,

Reimplemented from vsg::Object.

## ◆ traverse() [1/2]

void vsg::GraphicsPipelineConfigurator::traverse | ( | ConstVisitor & | visitor | ) | const
| overridevirtual

Reimplemented from vsg::Object.

## ◆ traverse() [2/2]

void vsg::GraphicsPipelineConfigurator::traverse | ( | Visitor & | visitor | ) |
| overridevirtual

Reimplemented from vsg::Object.

The documentation for this class was generated from the following file:

- include/vsg/utils/GraphicsPipelineConfigurator.h