35 #ifndef IECOREGL_SHADERSTATECOMPONENT_H
36 #define IECOREGL_SHADERSTATECOMPONENT_H
38 #include "IECore/CompoundObject.h"
40 #include "IECoreGL/Export.h"
41 #include "IECoreGL/StateComponent.h"
42 #include "IECoreGL/Shader.h"
47 IE_CORE_FORWARDDECLARE( ShaderLoader )
48 IE_CORE_FORWARDDECLARE( TextureLoader )
68 ShaderStateComponent( ShaderLoaderPtr shaderLoader, TextureLoaderPtr textureLoader,
const std::string &vertexSource,
const std::string &geometrySource,
const std::string &fragmentSource, IECore::ConstCompoundObjectPtr parameterValues );
74 void bind()
const override;
92 void addParametersToShaderSetup(
Shader::Setup *shaderSetup )
const;
96 IE_CORE_FORWARDDECLARE( Implementation );
97 ImplementationPtr m_implementation;
99 static Description<ShaderStateComponent> g_description;
107 #endif // IECOREGL_SHADERSTATECOMPONENT_H
Definition: ShaderStateComponent.h:55
Definition: StateComponent.h:51
The namespace within which all CoreGL functionality is defined.
Definition: AlphaTexture.h:41
Definition: TextureLoader.h:56
Definition: MurmurHash.h:64
Definition: ShaderLoader.h:54