RslPlugin.h File Reference

#include "ri.h"
#include "RixInterfaces.h"
#include <stdarg.h>
#include <assert.h>
#include <string>

Go to the source code of this file.

Classes

class  RslContext
 The RslContext provides access to various capabilities required by shader plugins. More...
class  RslArg_v2
 Plugin function argument (API version 2). More...
class  RslArg_v3
 Plugin function argument (API version 3). More...
class  RslArg
 An array of RslArg pointers is passed to the RSL plugin function. More...
class  RslIter< T >
 An iterator is used to access grid data. More...
class  RslArrayIter< T >
 An iterator for array arguments. More...
class  RslResizer
 A resizable array can be manipulated using an RslResizer object. More...
class  RslStruct
 An RslStruct represents a struct value. More...
class  RslStructArray
 An RslStructArray represents an array of structs. More...
struct  RslFunction
 Each plugin must define an RSL function table, which requires two steps. More...
struct  RslFunctionTable
 Each plugin should define an RslFunctionTable called "RslPublicFunctions". More...

Defines

#define RSL_PLUGIN_VERSION   5
 Plugin API version number.

Typedefs

typedef unsigned int RslRunFlag
 Most shadeops should use iterators to access data, but those that don't use runflags to determine which grid points are active.
typedef unsigned int RslIncrType
 Iterators use an accelaration structure involving small increments.
typedef int(* RslEntryFunc )(class RslContext *ctx, int argc, const class RslArg **argv)
 An RSL plugin function takes a context, number of arguments, and an array of arguments.
typedef RslIter< RtFloat > RslFloatIter
 Float iterator.
typedef RslIter< RtString > RslStringIter
 String iterator.
typedef RslIter< RtColor > RslColorIter
 Color iterator.
typedef RslIter< RtVector > RslVectorIter
 Vector iterator.
typedef RslIter< RtNormal > RslNormalIter
 Normal iterator.
typedef RslIter< RtPoint > RslPointIter
 Point iterator.
typedef RslIter< RtMatrix > RslMatrixIter
 Matrix iterator.
typedef RslArrayIter< RtFloat > RslFloatArrayIter
 Float array iterator.
typedef RslArrayIter< RtString > RslStringArrayIter
 String array iterator.
typedef RslArrayIter< RtColor > RslColorArrayIter
 Color array iterator.
typedef RslArrayIter< RtVector > RslVectorArrayIter
 Vector array iterator.
typedef RslArrayIter< RtNormal > RslNormalArrayIter
 Normal array iterator.
typedef RslArrayIter< RtPoint > RslPointArrayIter
 Point array iterator.
typedef RslArrayIter< RtMatrix > RslMatrixArrayIter
 Matrix array iterator.
typedef void(* RslVoidFunc )(RixContext *context)
 A per-frame init/cleanup function takes a RixContext, which allows it to obtain interfaces for reporting errors, accessing global RixStorage, etc.


Define Documentation

#define RSL_PLUGIN_VERSION   5
 

Plugin API version number.


Typedef Documentation

typedef RslArrayIter<RtColor> RslColorArrayIter
 

Color array iterator.

typedef RslIter<RtColor> RslColorIter
 

Color iterator.

typedef int(* RslEntryFunc)(class RslContext *ctx, int argc, const class RslArg **argv)
 

An RSL plugin function takes a context, number of arguments, and an array of arguments.

A non-zero return value indicates an error.

typedef RslArrayIter<RtFloat> RslFloatArrayIter
 

Float array iterator.

typedef RslIter<RtFloat> RslFloatIter
 

Float iterator.

typedef unsigned int RslIncrType
 

Iterators use an accelaration structure involving small increments.

typedef RslArrayIter<RtMatrix> RslMatrixArrayIter
 

Matrix array iterator.

typedef RslIter<RtMatrix> RslMatrixIter
 

Matrix iterator.

typedef RslArrayIter<RtNormal> RslNormalArrayIter
 

Normal array iterator.

typedef RslIter<RtNormal> RslNormalIter
 

Normal iterator.

typedef RslArrayIter<RtPoint> RslPointArrayIter
 

Point array iterator.

typedef RslIter<RtPoint> RslPointIter
 

Point iterator.

typedef unsigned int RslRunFlag
 

Most shadeops should use iterators to access data, but those that don't use runflags to determine which grid points are active.

typedef RslArrayIter<RtString> RslStringArrayIter
 

String array iterator.

typedef RslIter<RtString> RslStringIter
 

String iterator.

typedef RslArrayIter<RtVector> RslVectorArrayIter
 

Vector array iterator.

typedef RslIter<RtVector> RslVectorIter
 

Vector iterator.

typedef void(* RslVoidFunc)(RixContext *context)
 

A per-frame init/cleanup function takes a RixContext, which allows it to obtain interfaces for reporting errors, accessing global RixStorage, etc.