42 lines
2.7 KiB
C
42 lines
2.7 KiB
C
#pragma once
|
|
|
|
struct ParameterBindType
|
|
{
|
|
enum Enumeration
|
|
{
|
|
BindBySemantic,
|
|
BindByVariable
|
|
};
|
|
};
|
|
|
|
struct __declspec(novtable) IShaderParameter
|
|
{
|
|
virtual ParameterBindType::Enumeration get_ParameterNameType() const = 0;
|
|
virtual void set_ParameterNameType(ParameterBindType::Enumeration argBindType) = 0;
|
|
virtual void ApplyValue(ID3D10EffectVariable& argVariable) = 0;
|
|
};
|
|
|
|
|
|
struct ITexture;
|
|
struct __declspec(novtable) IShaderParameterCollection
|
|
{
|
|
virtual ~IShaderParameterCollection() {}
|
|
|
|
virtual bool get_IsPreconditionForFollowingShaders() const = 0;
|
|
virtual void set_IsPreconditionForFollowingShaders(bool argValue) = 0;
|
|
|
|
virtual void SetParameter(const string8& argParameterName,IShaderParameter* ar_Parameter_) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, ITexture& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, float* af_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, float argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, D3DXVECTOR3* ar_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, const D3DXVECTOR3& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, D3DXVECTOR4* ar_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, const D3DXVECTOR4& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, D3DXMATRIX* argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, const D3DXMATRIX& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, bool* ab_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void SetParameter(const string8& argParameterName, bool argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic) = 0;
|
|
virtual void RemoveParameter(const string8& argParameterName) = 0;
|
|
|
|
}; |