## Renderer

Object Hierarchy | Related C++ Class: Renderer

### Inheritance

SIObject

Renderer

### Introduced

v7.0

### Description

The Renderer object holds read-only information on a particular rendering engine registered with Softimage. The list of rendering engines can be accessed through XSIApplication.Renderers

### Methods

IsClassOf | IsEqualTo | OutputFormatDef | ProcessType
PropertyName |  |  |

### Properties

Application | Categories | DefaultChannels | FullName
Help | Name | NestedObjects | ObjectArchiveInfo
Origin | OriginPath | OutputFormats | Parent
ProcessTypes | SceneArchiveInfo | Type |

### Examples

#### JScript Example

    // Print out information on all registered rendering engines.
    function printRenderer( renderer )
    {
            var aProcessNames = new Array( "Rendering", "Scene Archive Export", "Object Archive Export" );
            LogMessage( "Renderer: " + renderer.Name );
            var aTypes = renderer.ProcessTypes.toArray();
            var aProcessTypes = new Array();
            for( var type in aTypes )
                    aProcessTypes.push( aProcessNames[ type ] );
            LogMessage( "  Process types: " + aProcessTypes.join( ", " ) );
            LogMessage( "  Render options name: " + renderer.PropertyName( siRenderPropertyOptions ) );
            if( renderer.ProcessType( siRenderProcessExportArchive ) )
            {
                    var sceneArchive = renderer.SceneArchiveInfo
                    LogMessage( "  Scene Archive:" );
                    LogMessage( "    Name: " + sceneArchive.Name );
                    LogMessage( "    File Extension: " + sceneArchive.Extension );
                    LogMessage( "    Multiframe Support: " + sceneArchive.Multiframe );
            }
            if( renderer.ProcessType( siRenderProcessExportObjectArchive ) )
            {
                    var objectArchive = renderer.ObjectArchiveInfo
                    LogMessage( "  Object Archive:" );
                    LogMessage( "    Name: " + objectArchive.Name );
                    LogMessage( "    File Extension: " + objectArchive.Extension );
                    LogMessage( "    Multiframe Support: " + objectArchive.Multiframe );
                    LogMessage( "    Display Proxy Support: " + objectArchive.DisplayProxy );
            }
            var oChannels = new VBArray( renderer.DefaultChannels ).toArray();
            if( oChannels.length > 0 )
            {
                    var sTypeNames = new Array( "Unknown", "Color", "Grayscale", "Depth", "Normal", "Vector", "Label" );
                    LogMessage( "  Provided channels:" );
                    for( var i = 0; i < oChannels.length; i += 2 )
                            LogMessage( "    " + oChannels[ i ] + " (" + sTypeNames[ oChannels[ i + 1 ] ] + ")" );
            }
            var oFormats = new VBArray( renderer.OutputFormats ).toArray();
            if( oFormats.length > 0 )
            {
                    var aFormatList = new Array( );
                    for( var i = 0; i < oFormats.length; i += 2 )
                            aFormatList.push( oFormats[ i ] + " (\"" + oFormats[ i + 1 ] + "\")" );
                    LogMessage( "  Provided output formats: " + aFormatList.join( ", " ) );
            }
            LogMessage( "" );
    }
    var e = new Enumerator( Application.Renderers );
    for( ; !e.atEnd(); e.moveNext() )
            printRenderer( e.item() );

### See Also

XSIApplication.Renderers PluginRegistrar::RegisterRenderer Custom Renderers