|
| ViewDependentState (View *in_view) |
|
void | traverse (Visitor &visitor) override |
|
void | traverse (ConstVisitor &visitor) const override |
|
void | traverse (RecordTraversal &rt) const override |
|
virtual void | init (ResourceRequirements &requirements) |
|
virtual void | update (ResourceRequirements &requirements) |
|
virtual void | clear () |
|
virtual void | bindDescriptorSets (CommandBuffer &commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet) |
|
virtual void | compile (Context &context) |
|
| 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 |
|
| Object (const Object &) |
|
Object & | operator= (const Object &) |
|
template<class T > |
T * | cast () |
|
template<class T > |
const T * | cast () 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 |
|
ViewDependentState to manage lighting, clip planes and texture projection By default assigned to the vsg::View, for standard usage you don't need to create or modify the ViewDependentState If you wish to override the standard lighting support provided by ViewDependentState you can subclass it.
To leverage the state that the ViewDependentState provides you need to set up the graphics pipelines with the vsg::ViewDescriptorSetLayout, and add a vsg::BindViewDescriptorSet to a StateGroup. You don't need to explicitly add these if you have created your scene graph using vsg::Builder or used loaders like vsgXchange::Assimp.