6#ifndef MATERIALX_RENDER_UTIL_H
7#define MATERIALX_RENDER_UTIL_H
20MATERIALX_NAMESPACE_BEGIN
22extern MX_RENDER_API
const Color3 DEFAULT_SCREEN_COLOR_SRGB;
23extern MX_RENDER_API
const Color3 DEFAULT_SCREEN_COLOR_LIN_REC709;
35 const string& shaderName,
42 const string& shaderName);
48 const string& shaderName);
53 const string& shaderName);
58 const string& shaderName,
59 const string& filterType,
97 bool uiAdvanced =
false;
122MATERIALX_NAMESPACE_END
shared_ptr< Document > DocumentPtr
A shared pointer to a Document.
Definition: Document.h:22
shared_ptr< Element > ElementPtr
A shared pointer to an Element.
Definition: Element.h:31
Context classes for shader generation.
shared_ptr< Input > InputPtr
A shared pointer to an Input.
Definition: Interface.h:31
vector< string > StringVec
A vector of strings.
Definition: Library.h:55
shared_ptr< Shader > ShaderPtr
Shared pointer to a Shader.
Definition: Library.h:34
Shader generation utility methods.
Macros for declaring imported and exported symbols.
MX_RENDER_API void createUIPropertyGroups(DocumentPtr doc, const VariableBlock &block, UIPropertyGroup &groups, UIPropertyGroup &unnamedGroups, const string &pathSeparator)
Utility to group UI properties items based on Element group name from a VariableBlock.
MX_RENDER_API ShaderPtr createConstantShader(GenContext &context, DocumentPtr stdLib, const string &shaderName, const Color3 &color)
Create a shader with a constant color output, using the given standard libraries for code generation.
MX_RENDER_API ShaderPtr createBlurShader(GenContext &context, DocumentPtr stdLib, const string &shaderName, const string &filterType, float filterSize)
Create a blur shader, using the given standard libraries for code generation.
MX_RENDER_API ShaderPtr createAlbedoTableShader(GenContext &context, DocumentPtr stdLib, const string &shaderName)
Create a shader that generates a look-up table for directional albedo, using the given standard libra...
MX_RENDER_API ShaderPtr createDepthShader(GenContext &context, DocumentPtr stdLib, const string &shaderName)
Create a shader with depth value output, using the given standard libraries for code generation.
std::multimap< string, UIPropertyItem > UIPropertyGroup
A grouping of property items by name.
Definition: Util.h:113
MX_RENDER_API unsigned int getUIProperties(InputPtr input, const string &target, UIProperties &uiProperties)
Get the UI properties for a given input element and target.
MX_RENDER_API ShaderPtr createEnvPrefilterShader(GenContext &context, DocumentPtr stdLib, const string &shaderName)
Create a shader that generates a prefiltered environment map.
MX_RENDER_API ShaderPtr createShader(const string &shaderName, GenContext &context, ElementPtr elem)
Create a shader for a given element.
Base shader generator class.
shared_ptr< Value > ValuePtr
A shared pointer to a Value.
Definition: Value.h:29
A three-component color value.
Definition: Types.h:342
A context class for shader generation.
Definition: GenContext.h:31
An input or output port on a ShaderNode.
Definition: ShaderNode.h:123
A block of variables in a shader stage.
Definition: ShaderStage.h:61
Set of possible UI properties for an element.
Definition: Util.h:68
ValuePtr uiStep
UI step value.
Definition: Util.h:94
ValuePtr uiMin
UI minimum value.
Definition: Util.h:82
ValuePtr uiSoftMin
UI soft minimum value.
Definition: Util.h:88
string uiName
UI name.
Definition: Util.h:70
StringVec enumeration
Enumeration.
Definition: Util.h:76
vector< ValuePtr > enumerationValues
Enumeration Values.
Definition: Util.h:79
ValuePtr uiSoftMax
UI soft maximum value.
Definition: Util.h:91
string uiFolder
UI folder.
Definition: Util.h:73
ValuePtr uiMax
UI maximum value.
Definition: Util.h:85
Interface for holding the UI properties associated shader port.
Definition: Util.h:106