6 #ifndef MATERIALX_OCIO_COLOR_MANAGEMENT_SYSTEM_H
7 #define MATERIALX_OCIO_COLOR_MANAGEMENT_SYSTEM_H
9 #ifdef MATERIALX_BUILD_OCIO
23 class OcioColorManagementSystemImpl;
26 using OcioColorManagementSystemPtr = std::shared_ptr<class OcioColorManagementSystem>;
33 virtual ~OcioColorManagementSystem();
36 static OcioColorManagementSystemPtr createFromEnv(
string target);
39 static OcioColorManagementSystemPtr createFromFile(
const string&
filename,
string target);
42 static OcioColorManagementSystemPtr createFromBuiltinConfig(
const string& configName,
string target);
45 const string&
getName()
const override;
54 string getGpuProcessorCode(
const string& implName,
const string& functionName)
const;
57 static const string IMPL_PREFIX;
60 static const string OCIO_SOURCE_URI;
68 const char* getSupportedColorSpaceName(
const char* colorSpace)
const;
71 OcioColorManagementSystem(OcioColorManagementSystemImpl*);
74 std::unique_ptr<OcioColorManagementSystemImpl> _impl;
79 #endif // MATERIALX_BUILD_OCIO
GT_API const UT_StringHolder filename
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
NodeDefPtr getNodeDef(const ColorSpaceTransform &transform) const override
Returns a nodedef for a given transform.
#define MATERIALX_NAMESPACE_BEGIN
const string & getName() const override
Return the DefaultColorManagementSystem name.
virtual bool hasImplementation(const string &) const
Returns true if the CMS can create a shader node implementation for a locally managed CMS transform...
virtual ShaderNodeImplPtr createImplementation(const string &) const
Create an CMS node implementation for a locally managed transform.
GA_API const UT_StringHolder transform
#define MATERIALX_NAMESPACE_END
shared_ptr< NodeDef > NodeDefPtr
A shared pointer to a NodeDef.