6 #ifndef MATERIALX_RENDER_SHADER_MATERIAL_H
7 #define MATERIALX_RENDER_SHADER_MATERIAL_H
34 float ambientOcclusionGain = 0.0f;
58 void setMaterialNode(
NodePtr node);
61 NodePtr getMaterialNode()
const;
70 virtual bool loadSource(
const FilePath& vertexShaderFile,
72 bool hasTransparency) = 0;
76 virtual bool generateShader(
GenContext& context) = 0;
82 virtual bool generateShader(
ShaderPtr hwShader) = 0;
85 virtual bool generateEnvironmentShader(
GenContext& context,
94 bool hasTransparency()
const;
97 virtual bool bindShader()
const = 0;
100 virtual void bindViewInformation(
CameraPtr camera) = 0;
105 bool enableMipmaps =
true) = 0;
122 virtual void bindMesh(
MeshPtr mesh) = 0;
131 virtual void unbindGeometry() = 0;
140 virtual void modifyUniform(
const std::string& path,
145 virtual void clearShader() = 0;
shared_ptr< class Mesh > MeshPtr
Shared pointer to a mesh.
std::shared_ptr< class Camera > CameraPtr
Shared pointer to a Camera.
GT_API const UT_StringHolder filename
#define MATERIALX_NAMESPACE_BEGIN
shared_ptr< class MeshPartition > MeshPartitionPtr
Shared pointer to a mesh partition.
GLsizei const GLchar *const * string
shared_ptr< const Value > ConstValuePtr
A shared pointer to a const Value.
GLsizei const GLchar *const * path
std::vector< ImagePtr > ImageVec
A vetor of images.
shared_ptr< TypedElement > TypedElementPtr
A shared pointer to a TypedElement.
MATERIALX_NAMESPACE_BEGIN MX_CORE_API const string EMPTY_STRING
std::shared_ptr< class LightHandler > LightHandlerPtr
Shared pointer to a LightHandler.
ImagePtr ambientOcclusionMap
std::shared_ptr< ImageHandler > ImageHandlerPtr
Shared pointer to an ImageHandler.
shared_ptr< Document > DocumentPtr
A shared pointer to a Document.
shared_ptr< Shader > ShaderPtr
Shared pointer to a Shader.
#define MATERIALX_NAMESPACE_END
std::shared_ptr< class ShaderMaterial > MaterialPtr
shared_ptr< Image > ImagePtr
A shared pointer to an image.
GLuint GLsizei GLsizei GLchar * uniformName
shared_ptr< Node > NodePtr
A shared pointer to a Node.