38 #ifndef _RixShaderQuery_h 39 #define _RixShaderQuery_h 100 Name(
void)
const = 0;
108 Type(
void)
const = 0;
190 Open(
const char* name,
const char* searchPath) = 0;
199 ParameterCount(
void)
const = 0;
209 Parameters(
void)
const = 0;
214 MetaDataCount(
void)
const = 0;
228 ShaderName(
void)
const = 0;
232 ShaderType(
void)
const = 0;
253 CreateQuery(
void) = 0;
virtual int MetaDataSize(void) const =0
Call Metadata() first before calling this.
virtual ~RixShaderParameter()
RixShaderVectorSemantics
A vector's disposition.
virtual const char * StructName(void) const =0
virtual const int * DefaultI(void) const =0
virtual int DefaultSize(void) const =0
virtual RixShaderBaseType BaseType(void) const =0
RixShaderParameterType
parameter types
virtual RixShaderParameterType Type(void) const =0
RixShaderAggregateType
composed types
RixShaderBaseType
data types
virtual bool IsArray(void) const =0
virtual int ArrayLength(void) const =0
virtual const float * DefaultF(void) const =0
virtual RixShaderVectorSemantics VectorSemantics(void) const =0
virtual bool IsOutput(void) const =0
virtual RixShaderAggregateType AggregateType(void) const =0
virtual const char ** DefaultS(void) const =0
virtual ~RixShaderQuery(void)
A generic way to interrogate shaders on disk about their parameters.
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...
virtual bool IsStruct(void) const =0
virtual const char * Name(void) const =0