Shader Type Tags

Shader Type Tags

Using Type Tags

By default, RendererInfo looks for a shader type tag in the .args file in order to categorize the shader. If it finds the "<shaderType>" node it will look for "<tag>" children to determine the shader types. If "shaderType" is not found in the .args file the RendererInfo plugin will use the sloinfo mechanism for shader classification.

Below is a simple example of a .args file with the type tag at the end. Please note that the <shaderType> node must be a direct child of the <args> node:

<args format="1.0">
    <page name="Parameters" open="True">
        <param name="Intensity" default="1"/>
        <param name="Exposure" default="1">
        <param name="Color" default="1 1 1" widget="color"/>
    </page>
    <shaderType>
        <tag value="light"/>
        <tag value="surface"/>
   </shaderType>
</args>

The type tags that Katana recognizes at this time are: surface, light, displacement, atmosphere, interior, exterior, pattern", and *bxdf.

In addition to the value tag a new detail tag is used for passing extra information to the plugin for a particular shader. Currently only light shaders will utilize the detail value, looking for one of two hints:

  • "geoAreaLight" to indicate shader is a geometric area light.
  • "envAreaLight" to indicate shader is an environment area light.

If neither of these hints are specified as a hint on the shader type the light will be treated as a pseudo-area light.