RenderManAPI  24.0
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

◆ RixShaderAggregateType

composed types

Enumerator
k_Scalar 
k_Vec2 
k_Vec3 
k_Vec4 
k_Matrix33 
k_Matrix44 

◆ RixShaderBaseType

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 

◆ RixShaderParameterType

parameter types

Enumerator
k_Int 
k_Float 
k_String 
k_Color 
k_Point 
k_Normal 
k_Vector 
k_Matrix 
k_Unknown 

◆ RixShaderVectorSemantics

A vector's disposition.

Enumerator
k_VSColor 
k_VSPoint 
k_VSVector 
k_VSNormal 

Constructor & Destructor Documentation

◆ ~RixShaderParameter()

virtual RixShaderParameter::~RixShaderParameter ( )
inlinevirtual

Member Function Documentation

◆ AggregateType()

virtual RixShaderAggregateType RixShaderParameter::AggregateType ( void  ) const
pure virtual
Returns
if an aggregate, what kind

◆ ArrayLength()

virtual int RixShaderParameter::ArrayLength ( void  ) const
pure virtual
Returns
if an arrays, how long is it

◆ BaseType()

virtual RixShaderBaseType RixShaderParameter::BaseType ( void  ) const
pure virtual
Returns
the data type

◆ DefaultF()

virtual const float* RixShaderParameter::DefaultF ( void  ) const
pure virtual
Returns
if an floating point type then the default value

◆ DefaultI()

virtual const int* RixShaderParameter::DefaultI ( void  ) const
pure virtual
Returns
if an integral type then the default value

◆ DefaultS()

virtual const char** RixShaderParameter::DefaultS ( void  ) const
pure virtual
Returns
if an string type then the default value

◆ DefaultSize()

virtual int RixShaderParameter::DefaultSize ( void  ) const
pure virtual
Returns
Default size for array parameters

◆ IsArray()

virtual bool RixShaderParameter::IsArray ( void  ) const
pure virtual
Returns
parameters might be arrays.

◆ IsOutput()

virtual bool RixShaderParameter::IsOutput ( void  ) const
pure virtual
Returns
parameters might be outputs

◆ IsStruct()

virtual bool RixShaderParameter::IsStruct ( void  ) const
pure virtual
Returns
parameters might be structs.

◆ MetaData()

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.

◆ MetaDataSize()

virtual int RixShaderParameter::MetaDataSize ( void  ) const
pure virtual

Call Metadata() first before calling this.

Returns
the count of fields

◆ Name()

virtual const char* RixShaderParameter::Name ( void  ) const
pure virtual
Returns
the parameter's name

◆ StructName()

virtual const char* RixShaderParameter::StructName ( void  ) const
pure virtual
Returns
the parameter's name if it is a struct

◆ Type()

virtual RixShaderParameterType RixShaderParameter::Type ( void  ) const
pure virtual
Returns
the type

◆ VectorSemantics()

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: