RenderMan  26.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RixShaderParameter Class Referenceabstract

class RixShaderParameter Represents a single shader parameter or metadata item More...

#include <RixShaderInfo.h>

Public Types

enum  RixShaderParameterType {
  k_Int, k_Float, k_String, k_Color,
  k_Point, k_Normal, k_Vector, k_Matrix,
  k_Unknown
}
 parameter types More...
 
enum  RixShaderBaseType {
  k_UNKNOWN, k_NONE, k_UCHAR, k_UINT8 = k_UCHAR,
  k_CHAR, k_INT8 = k_CHAR, k_USHORT, k_UINT16 = k_USHORT,
  k_SHORT, k_INT16 = k_SHORT, k_UINT, k_UINT32 = k_UINT,
  k_INT, k_INT32 = k_INT, k_ULONGLONG, k_UINT64 = k_ULONGLONG,
  k_LONGLONG, k_INT64 = k_LONGLONG, k_HALF, k_FLOAT,
  k_DOUBLE, k_STRING, k_PTR, k_LASTBASE
}
 data types More...
 
enum  RixShaderAggregateType {
  k_Scalar, k_Vec2, k_Vec3, k_Vec4,
  k_Matrix33, k_Matrix44
}
 composed types More...
 
enum  RixShaderVectorSemantics { k_VSColor, k_VSPoint, k_VSVector, k_VSNormal }
 A vector's disposition. More...
 

Public Member Functions

virtual ~RixShaderParameter ()
 
virtual const char * Name (void) const =0
 
virtual const char * StructName (void) const =0
 
virtual RixShaderParameterType Type (void) const =0
 
virtual RixShaderBaseType BaseType (void) const =0
 
virtual RixShaderAggregateType AggregateType (void) const =0
 
virtual RixShaderVectorSemantics VectorSemantics (void) const =0
 
virtual bool IsOutput (void) const =0
 
virtual bool IsStruct (void) const =0
 
virtual bool IsArray (void) const =0
 
virtual int ArrayLength (void) const =0
 
virtual int DefaultSize (void) const =0
 
virtual const int * DefaultI (void) const =0
 
virtual const float * DefaultF (void) const =0
 
virtual const char ** DefaultS (void) const =0
 
virtual int MetaDataSize (void) const =0
 Call Metadata() first before calling this. More...
 
virtual const
RixShaderParameter *const * 
MetaData (void) const =0
 if the parameter is a struct then its fields can be referenced through the meta data entries. More...
 

Detailed Description

class RixShaderParameter Represents a single shader parameter or metadata item

Member Enumeration Documentation

composed types

Enumerator
k_Scalar 
k_Vec2 
k_Vec3 
k_Vec4 
k_Matrix33 
k_Matrix44 

data types

Enumerator
k_UNKNOWN 
k_NONE 
k_UCHAR 
k_UINT8 
k_CHAR 
k_INT8 
k_USHORT 
k_UINT16 
k_SHORT 
k_INT16 
k_UINT 
k_UINT32 
k_INT 
k_INT32 
k_ULONGLONG 
k_UINT64 
k_LONGLONG 
k_INT64 
k_HALF 
k_FLOAT 
k_DOUBLE 
k_STRING 
k_PTR 
k_LASTBASE 

parameter types

Enumerator
k_Int 
k_Float 
k_String 
k_Color 
k_Point 
k_Normal 
k_Vector 
k_Matrix 
k_Unknown 

A vector's disposition.

Enumerator
k_VSColor 
k_VSPoint 
k_VSVector 
k_VSNormal 

Constructor & Destructor Documentation

virtual RixShaderParameter::~RixShaderParameter ( )
inlinevirtual

Member Function Documentation

virtual RixShaderAggregateType RixShaderParameter::AggregateType ( void  ) const
pure virtual
Returns
if an aggregate, what kind
virtual int RixShaderParameter::ArrayLength ( void  ) const
pure virtual
Returns
if an arrays, how long is it
virtual RixShaderBaseType RixShaderParameter::BaseType ( void  ) const
pure virtual
Returns
the data type
virtual const float* RixShaderParameter::DefaultF ( void  ) const
pure virtual
Returns
if an floating point type then the default value
virtual const int* RixShaderParameter::DefaultI ( void  ) const
pure virtual
Returns
if an integral type then the default value
virtual const char** RixShaderParameter::DefaultS ( void  ) const
pure virtual
Returns
if an string type then the default value
virtual int RixShaderParameter::DefaultSize ( void  ) const
pure virtual
Returns
Default size for array parameters
virtual bool RixShaderParameter::IsArray ( void  ) const
pure virtual
Returns
parameters might be arrays.
virtual bool RixShaderParameter::IsOutput ( void  ) const
pure virtual
Returns
parameters might be outputs
virtual bool RixShaderParameter::IsStruct ( void  ) const
pure virtual
Returns
parameters might be structs.
virtual const RixShaderParameter* const* RixShaderParameter::MetaData ( void  ) const
pure virtual

if the parameter is a struct then its fields can be referenced through the meta data entries.

This pointer is valid until this parameter is deleted.

Returns
the fields of the struct as parameters.
virtual int RixShaderParameter::MetaDataSize ( void  ) const
pure virtual

Call Metadata() first before calling this.

Returns
the count of fields
virtual const char* RixShaderParameter::Name ( void  ) const
pure virtual
Returns
the parameter's name
virtual const char* RixShaderParameter::StructName ( void  ) const
pure virtual
Returns
the parameter's name if it is a struct
virtual RixShaderParameterType RixShaderParameter::Type ( void  ) const
pure virtual
Returns
the type
virtual RixShaderVectorSemantics RixShaderParameter::VectorSemantics ( void  ) const
pure virtual
Returns
if a vector, what kind is it

The documentation for this class was generated from the following file: