Files
bluflame/aiwaz/Aiwaz/Interfaces/IShaderParameterCollection.h
2026-04-18 22:31:51 +02:00

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;
};