Meta_SurfaceShaderInstances are associated with Materials, when attached as a child of a material they will effect the vertex and/or fragment shaders of any visuals rendered with said material.
Whether the vertex/fragment shaders will be affected depends on the SourceCode in the Definition. The shader can access various vertex / surface properties of the visual being rendered to use for various things.
The parameters of the material instance's arguments are selectively specified through the creation of child Meta_MaterialArgument nodes. These Meta_MaterialArguments can be set to take their value from the Definition's default value, a specific value from StdMaterial, or a custom value.
Some examples of surface shaders: Procedural texturing, procedural vertex animation, complex multi-layer material rendering.
version number of this metanode, for potential future upgrade hooks
if false any object using this material instance will not be drawn
link to a Meta_SurfaceShaderDefinition to use