Custom Integrators in Katana
Custom Integrators in Katana
Adding a custom integrator to the Katana UI is straightforward with RfK, however it is not dynamic; you'll need to manually add your integrator information to the PrmanGlobalSettings node. Currently there is no mechanism for dynamically loading new integrators into a running Katana session.
In PrmanGlobalSettings.xml you'll need to add the name of your new integrator to the integrator parameter option list under the integrator section (i.e. create a new option value "CustomIntegrator" for the attribue prmanGlobalStatements.integrator.integrator). Then you'll need to create a new section to define the integrator and its parameter list (i.e. create a new attribute called prmanGlobalStatements.integrator.CustomIntegrator
For example:
[...] <group name='integrator' closed='False'> <string name='integrator' widget='popup' default='none' help='RIS Integrator setting (PRMan19 only).' options='CustomIntegrator|PxrVCM|PxrPathTracer|PxrDirectLighting|PxrDefault|PxrDebugShadingContext|PxrValidateBxdf'/> <group name='CustomIntegrator' closed='False' conditionalVisOp='equalTo' conditionalVisPath='../integrator' conditionalVisValue='CustomIntegrator'> <help>Integrator which does some fast and amazing integration. </help> <int name='mergePaths' default='1' widget='checkBox'> <help> </help> </int> <int name='connectPaths' default='1' widget='checkBox'> <help> </help> </int> </group> [...]
The RfK plugin will automatically pick up the new integrator and determine the names and types of the parameters based on the attributes created when the PrmanGlobalSettings node is built.