port from perforce
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#include "IShaderParameterCollection.h"
|
||||
|
||||
|
||||
struct ID3D10EffectVariable;
|
||||
struct IShader;
|
||||
struct IInternalShader;
|
||||
struct IShaderParameter;
|
||||
class BasisShaderParameterCollection
|
||||
{
|
||||
public:
|
||||
BasisShaderParameterCollection();
|
||||
~BasisShaderParameterCollection();
|
||||
|
||||
void UseParametersOnShader(IShader& argShader);
|
||||
void SetShaderParameter(const string8& argParameterName, IShaderParameter& argParameter);
|
||||
void RemoveShaderParameter(const string8& argParameterName);
|
||||
void RemoveAllShaderParameters();
|
||||
|
||||
protected:
|
||||
|
||||
struct ShaderParameterPair
|
||||
{
|
||||
ShaderParameterPair(IShaderParameter& argShaderParameter, ID3D10EffectVariable* ar_EffectVariable_)
|
||||
: Parameter(&argShaderParameter)
|
||||
, TargetVariable(ar_EffectVariable_)
|
||||
{}
|
||||
|
||||
IShaderParameter* Parameter;
|
||||
ID3D10EffectVariable* TargetVariable;
|
||||
};
|
||||
|
||||
typedef std::map<string8, IShaderParameter*> tk_StringToShaderParameter;
|
||||
typedef std::vector<ShaderParameterPair> tk_ShaderParameterPairs;
|
||||
typedef std::map<IInternalShader*, tk_ShaderParameterPairs> tk_ShaderToShaderParameter;
|
||||
|
||||
tk_ShaderToShaderParameter m_ShaderToParameterMap;
|
||||
tk_StringToShaderParameter m_ParameterMap;
|
||||
};
|
||||
Reference in New Issue
Block a user