37 #ifndef _RixShaderQuery_h 38 #define _RixShaderQuery_h 107 Type(
void)
const = 0;
189 Open(
const char* name,
const char* searchPath) = 0;
Definition: RixShaderInfo.h:76
RixShaderParameterType
parameter types
Definition: RixShaderInfo.h:50
RixShaderAggregateType
composed types
Definition: RixShaderInfo.h:74
Definition: RixShaderInfo.h:69
A generic way to interrogate shaders on disk about their parameters.
Definition: RixShaderInfo.h:246
virtual RixShaderParameterType Type(void) const =0
virtual int ArrayLength(void) const =0
virtual ~RixShaderQuery(void)
Definition: RixShaderInfo.h:176
Definition: RixShaderInfo.h:66
Definition: RixShaderInfo.h:54
virtual const char * ShaderName(void) const =0
Definition: RixShaderInfo.h:69
Definition: RixShaderInfo.h:70
virtual RixShaderQuery * CreateQuery(void)=0
A RixShaderQuery factory, callers are responsible for deleting the returned object when they are done...
RixShaderBaseType
data types
Definition: RixShaderInfo.h:64
Definition: RixShaderInfo.h:52
Definition: RixShaderInfo.h:60
virtual int ParameterCount(void) const =0
Call Parameters() first before calling this.
Definition: RixShaderInfo.h:66
Definition: RixShaderInfo.h:80
virtual const RixShaderParameter *const * MetaData(void) const =0
Shaders have meta data each represented by parameter object.
Definition: RixShaderInfo.h:67
Base class for all Rix interfaces.
Definition: RixInterfaces.h:133
Definition: RixShaderInfo.h:59
Definition: RixShaderInfo.h:70
virtual const int * DefaultI(void) const =0
Definition: RixShaderInfo.h:68
Definition: RixShaderInfo.h:55
Definition: RixShaderInfo.h:68
virtual int MetaDataCount(void) const =0
Call MetaData() first before calling this.
virtual int DefaultSize(void) const =0
Definition: RixShaderInfo.h:90
Definition: RixShaderInfo.h:58
RixShaderVectorSemantics
A vector's disposition.
Definition: RixShaderInfo.h:85
class RixShaderQuery obtained from RixShaderInfo::CreateQuery().
Definition: RixShaderInfo.h:172
virtual bool Open(const char *name, const char *searchPath)=0
loads the metadata of a shader from disk.
Definition: RixShaderInfo.h:66
Definition: RixShaderInfo.h:56
Definition: RixShaderInfo.h:81
RixShaderInfo()
Definition: RixShaderInfo.h:256
Definition: RixShaderInfo.h:68
virtual int MetaDataSize(void) const =0
Call Metadata() first before calling this.
Definition: RixShaderInfo.h:70
Definition: RixShaderInfo.h:67
Definition: RixShaderInfo.h:87
Definition: RixShaderInfo.h:77
Definition: RixShaderInfo.h:67
class RixShaderParameter Represents a single shader parameter or metadata item
Definition: RixShaderInfo.h:45
Definition: RixShaderInfo.h:70
virtual const RixShaderParameter *const * Parameters(void) const =0
The formal parameter list of a shader.
virtual const char * StructName(void) const =0
virtual RixShaderAggregateType AggregateType(void) const =0
Definition: RixShaderInfo.h:53
virtual const char * LastError(void)=0
Definition: RixShaderInfo.h:70
Definition: RixShaderInfo.h:69
Definition: RixShaderInfo.h:88
virtual const char * ShaderType(void) const =0
Definition: RixShaderInfo.h:78
Definition: RixShaderInfo.h:67
virtual RixShaderVectorSemantics VectorSemantics(void) const =0
Definition: RixShaderInfo.h:69
Definition: RixShaderInfo.h:68
virtual const float * DefaultF(void) const =0
Definition: RixShaderInfo.h:79
virtual const char ** DefaultS(void) const =0
virtual bool IsOutput(void) const =0
virtual const char * Name(void) const =0
Definition: RixShaderInfo.h:57
Definition: RixShaderInfo.h:70
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...
Definition: RixShaderInfo.h:65
virtual RixShaderBaseType BaseType(void) const =0
virtual ~RixShaderParameter()
Definition: RixShaderInfo.h:95
virtual bool IsStruct(void) const =0
Definition: RixShaderInfo.h:66
Definition: RixShaderInfo.h:89
Definition: RixShaderInfo.h:65
virtual bool IsArray(void) const =0