|
bool | supported () const |
|
bool | compile (ShaderStages &shaders, const std::vector< std::string > &defines={}, ref_ptr< const Options > options={}) |
|
bool | compile (ref_ptr< ShaderStage > shaderStage, const std::vector< std::string > &defines={}, ref_ptr< const Options > options={}) |
|
std::string | combineSourceAndDefines (const std::string &source, const std::vector< std::string > &defines) |
|
void | apply (Node &node) override |
|
void | apply (StateGroup &stategroup) override |
|
void | apply (BindGraphicsPipeline &bgp) override |
|
void | apply (BindComputePipeline &bgp) override |
|
void | apply (BindRayTracingPipeline &bgp) override |
|
| 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 |
|
virtual void | apply (Object &) |
|
virtual void | apply (Objects &) |
|
virtual void | apply (External &) |
|
virtual void | apply (Data &) |
|
virtual void | apply (stringValue &) |
|
virtual void | apply (wstringValue &) |
|
virtual void | apply (boolValue &) |
|
virtual void | apply (intValue &) |
|
virtual void | apply (uintValue &) |
|
virtual void | apply (floatValue &) |
|
virtual void | apply (doubleValue &) |
|
virtual void | apply (vec2Value &) |
|
virtual void | apply (vec3Value &) |
|
virtual void | apply (vec4Value &) |
|
virtual void | apply (dvec2Value &) |
|
virtual void | apply (dvec3Value &) |
|
virtual void | apply (dvec4Value &) |
|
virtual void | apply (bvec2Value &) |
|
virtual void | apply (bvec3Value &) |
|
virtual void | apply (bvec4Value &) |
|
virtual void | apply (ubvec2Value &) |
|
virtual void | apply (ubvec3Value &) |
|
virtual void | apply (ubvec4Value &) |
|
virtual void | apply (svec2Value &) |
|
virtual void | apply (svec3Value &) |
|
virtual void | apply (svec4Value &) |
|
virtual void | apply (usvec2Value &) |
|
virtual void | apply (usvec3Value &) |
|
virtual void | apply (usvec4Value &) |
|
virtual void | apply (ivec2Value &) |
|
virtual void | apply (ivec3Value &) |
|
virtual void | apply (ivec4Value &) |
|
virtual void | apply (uivec2Value &) |
|
virtual void | apply (uivec3Value &) |
|
virtual void | apply (uivec4Value &) |
|
virtual void | apply (byteArray &) |
|
virtual void | apply (ubyteArray &) |
|
virtual void | apply (shortArray &) |
|
virtual void | apply (ushortArray &) |
|
virtual void | apply (intArray &) |
|
virtual void | apply (uintArray &) |
|
virtual void | apply (floatArray &) |
|
virtual void | apply (doubleArray &) |
|
virtual void | apply (vec2Array &) |
|
virtual void | apply (vec3Array &) |
|
virtual void | apply (vec4Array &) |
|
virtual void | apply (dvec2Array &) |
|
virtual void | apply (dvec3Array &) |
|
virtual void | apply (dvec4Array &) |
|
virtual void | apply (bvec2Array &) |
|
virtual void | apply (bvec3Array &) |
|
virtual void | apply (bvec4Array &) |
|
virtual void | apply (svec2Array &) |
|
virtual void | apply (svec3Array &) |
|
virtual void | apply (svec4Array &) |
|
virtual void | apply (ivec2Array &) |
|
virtual void | apply (ivec3Array &) |
|
virtual void | apply (ivec4Array &) |
|
virtual void | apply (ubvec2Array &) |
|
virtual void | apply (ubvec3Array &) |
|
virtual void | apply (ubvec4Array &) |
|
virtual void | apply (usvec2Array &) |
|
virtual void | apply (usvec3Array &) |
|
virtual void | apply (usvec4Array &) |
|
virtual void | apply (uivec2Array &) |
|
virtual void | apply (uivec3Array &) |
|
virtual void | apply (uivec4Array &) |
|
virtual void | apply (mat4Array &) |
|
virtual void | apply (dmat4Array &) |
|
virtual void | apply (block64Array &) |
|
virtual void | apply (block128Array &) |
|
virtual void | apply (ubyteArray2D &) |
|
virtual void | apply (ushortArray2D &) |
|
virtual void | apply (uintArray2D &) |
|
virtual void | apply (floatArray2D &) |
|
virtual void | apply (doubleArray2D &) |
|
virtual void | apply (vec2Array2D &) |
|
virtual void | apply (vec3Array2D &) |
|
virtual void | apply (vec4Array2D &) |
|
virtual void | apply (dvec2Array2D &) |
|
virtual void | apply (dvec3Array2D &) |
|
virtual void | apply (dvec4Array2D &) |
|
virtual void | apply (bvec2Array2D &) |
|
virtual void | apply (bvec3Array2D &) |
|
virtual void | apply (bvec4Array2D &) |
|
virtual void | apply (svec2Array2D &) |
|
virtual void | apply (svec3Array2D &) |
|
virtual void | apply (svec4Array2D &) |
|
virtual void | apply (ivec2Array2D &) |
|
virtual void | apply (ivec3Array2D &) |
|
virtual void | apply (ivec4Array2D &) |
|
virtual void | apply (ubvec2Array2D &) |
|
virtual void | apply (ubvec3Array2D &) |
|
virtual void | apply (ubvec4Array2D &) |
|
virtual void | apply (usvec2Array2D &) |
|
virtual void | apply (usvec3Array2D &) |
|
virtual void | apply (usvec4Array2D &) |
|
virtual void | apply (uivec2Array2D &) |
|
virtual void | apply (uivec3Array2D &) |
|
virtual void | apply (uivec4Array2D &) |
|
virtual void | apply (block64Array2D &) |
|
virtual void | apply (block128Array2D &) |
|
virtual void | apply (ubyteArray3D &) |
|
virtual void | apply (ushortArray3D &) |
|
virtual void | apply (uintArray3D &) |
|
virtual void | apply (floatArray3D &) |
|
virtual void | apply (doubleArray3D &) |
|
virtual void | apply (vec2Array3D &) |
|
virtual void | apply (vec3Array3D &) |
|
virtual void | apply (vec4Array3D &) |
|
virtual void | apply (dvec2Array3D &) |
|
virtual void | apply (dvec3Array3D &) |
|
virtual void | apply (dvec4Array3D &) |
|
virtual void | apply (ubvec2Array3D &) |
|
virtual void | apply (ubvec3Array3D &) |
|
virtual void | apply (ubvec4Array3D &) |
|
virtual void | apply (block64Array3D &) |
|
virtual void | apply (block128Array3D &) |
|
virtual void | apply (Compilable &) |
|
virtual void | apply (Commands &) |
|
virtual void | apply (Group &) |
|
virtual void | apply (QuadGroup &) |
|
virtual void | apply (LOD &) |
|
virtual void | apply (PagedLOD &) |
|
virtual void | apply (CullGroup &) |
|
virtual void | apply (CullNode &) |
|
virtual void | apply (MatrixTransform &) |
|
virtual void | apply (Transform &) |
|
virtual void | apply (Geometry &) |
|
virtual void | apply (VertexDraw &) |
|
virtual void | apply (VertexIndexDraw &) |
|
virtual void | apply (DepthSorted &) |
|
virtual void | apply (Bin &) |
|
virtual void | apply (Switch &) |
|
virtual void | apply (Light &) |
|
virtual void | apply (AmbientLight &) |
|
virtual void | apply (DirectionalLight &) |
|
virtual void | apply (PointLight &) |
|
virtual void | apply (SpotLight &) |
|
virtual void | apply (Text &) |
|
virtual void | apply (TextGroup &) |
|
virtual void | apply (TextTechnique &) |
|
virtual void | apply (TextLayout &) |
|
virtual void | apply (BufferInfo &) |
|
virtual void | apply (Command &) |
|
virtual void | apply (StateCommand &) |
|
virtual void | apply (StateSwitch &) |
|
virtual void | apply (CommandBuffer &) |
|
virtual void | apply (RenderPass &) |
|
virtual void | apply (BindDescriptorSet &) |
|
virtual void | apply (BindDescriptorSets &) |
|
virtual void | apply (BindViewDescriptorSets &) |
|
virtual void | apply (Descriptor &) |
|
virtual void | apply (DescriptorBuffer &) |
|
virtual void | apply (DescriptorImage &) |
|
virtual void | apply (DescriptorSet &) |
|
virtual void | apply (BindVertexBuffers &) |
|
virtual void | apply (BindIndexBuffer &) |
|
virtual void | apply (GraphicsPipeline &) |
|
virtual void | apply (ComputePipeline &) |
|
virtual void | apply (RayTracingPipeline &) |
|
virtual void | apply (GraphicsPipelineState &) |
|
virtual void | apply (ShaderStage &) |
|
virtual void | apply (VertexInputState &) |
|
virtual void | apply (InputAssemblyState &) |
|
virtual void | apply (TessellationState &) |
|
virtual void | apply (ViewportState &) |
|
virtual void | apply (RasterizationState &) |
|
virtual void | apply (MultisampleState &) |
|
virtual void | apply (DepthStencilState &) |
|
virtual void | apply (ColorBlendState &) |
|
virtual void | apply (DynamicState &) |
|
virtual void | apply (ResourceHints &) |
|
virtual void | apply (Draw &) |
|
virtual void | apply (DrawIndexed &) |
|
virtual void | apply (ClearAttachments &) |
|
virtual void | apply (ClearColorImage &) |
|
virtual void | apply (ClearDepthStencilImage &) |
|
virtual void | apply (QueryPool &) |
|
virtual void | apply (ResetQueryPool &) |
|
virtual void | apply (BeginQuery &) |
|
virtual void | apply (EndQuery &) |
|
virtual void | apply (WriteTimestamp &) |
|
virtual void | apply (CopyQueryPoolResults &) |
|
virtual void | apply (DrawMeshTasks &) |
|
virtual void | apply (DrawMeshTasksIndirect &) |
|
virtual void | apply (DrawMeshTasksIndirectCount &) |
|
virtual void | apply (UIEvent &) |
|
virtual void | apply (WindowEvent &) |
|
virtual void | apply (ExposeWindowEvent &) |
|
virtual void | apply (ConfigureWindowEvent &) |
|
virtual void | apply (CloseWindowEvent &) |
|
virtual void | apply (FocusInEvent &) |
|
virtual void | apply (FocusOutEvent &) |
|
virtual void | apply (KeyEvent &) |
|
virtual void | apply (KeyPressEvent &) |
|
virtual void | apply (KeyReleaseEvent &) |
|
virtual void | apply (PointerEvent &) |
|
virtual void | apply (ButtonPressEvent &) |
|
virtual void | apply (ButtonReleaseEvent &) |
|
virtual void | apply (MoveEvent &) |
|
virtual void | apply (TouchEvent &) |
|
virtual void | apply (TouchDownEvent &) |
|
virtual void | apply (TouchUpEvent &) |
|
virtual void | apply (TouchMoveEvent &) |
|
virtual void | apply (ScrollWheelEvent &) |
|
virtual void | apply (TerminateEvent &) |
|
virtual void | apply (FrameEvent &) |
|
virtual void | apply (AnimationPath &) |
|
virtual void | apply (ShaderCompileSettings &) |
|
virtual void | apply (Camera &) |
|
virtual void | apply (CommandGraph &) |
|
virtual void | apply (RenderGraph &) |
|
virtual void | apply (View &) |
|
virtual void | apply (Viewer &) |
|
virtual void | apply (FrameStamp &) |
|
| Object (const Object &) |
|
Object & | operator= (const Object &) |
|
template<class T > |
T * | cast () |
|
template<class T > |
const T * | cast () const |
|
virtual void | traverse (Visitor &) |
|
virtual void | traverse (ConstVisitor &) 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 |
|
ShaderCompiler integrates with GLSLang to provide shader compilation from GLSL shaders to SPIRV shaders usable by Vulkan. To be able to compile GLSL the VulkanSceneGraph has to be compiled against GLSLang, you can check whether shader compilation is supported via the VSG_SUPPORTS_ShaderCompiler #define provided in include/core/Version.h, if the value is 1 then shader compilation is supported. You can also check the ShaderCompiler::supported() method.