port from perforce
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#pragma once
|
||||
|
||||
#include "BasisParameterCollection.h"
|
||||
#include "IShaderParameterCollection.h"
|
||||
#include "../Commands/CommandUserBase.h"
|
||||
|
||||
|
||||
struct IEngine;
|
||||
class ShaderParameterCollection
|
||||
: public IShaderParameterCollection
|
||||
, public CommandUserBase
|
||||
{
|
||||
static const unsigned char SetShaderParameterCollectionCommandType = 0;
|
||||
static const unsigned char SetFollowingShaderParameterCollectionCommandType = 1;
|
||||
public:
|
||||
ShaderParameterCollection(IEngine& argEngine, unsigned char argBasePriority = 4);
|
||||
virtual ~ShaderParameterCollection();
|
||||
|
||||
virtual void Uninitialize();
|
||||
|
||||
// IShaderParameterCollection
|
||||
virtual bool get_IsPreconditionForFollowingShaders() const;
|
||||
virtual void set_IsPreconditionForFollowingShaders(bool argValue);
|
||||
|
||||
virtual void SetParameter(const string8& argParameterName,IShaderParameter* ar_Parameter_);
|
||||
virtual void SetParameter(const string8& argParameterName, ITexture& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, float* af_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, float argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, D3DXVECTOR4* ar_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, const D3DXVECTOR4& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, D3DXVECTOR3* ar_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, const D3DXVECTOR3& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, D3DXMATRIX* argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, const D3DXMATRIX& argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, bool* ab_Parameter_, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void SetParameter(const string8& argParameterName, bool argParameter, ParameterBindType::Enumeration argParamNameType = ParameterBindType::BindBySemantic);
|
||||
virtual void RemoveParameter(const string8& argParameterName);
|
||||
|
||||
protected:
|
||||
// ICommandUser
|
||||
virtual CommandExecuteResult::Enumeration ExecuteCommand(unsigned char argCommandType, ICommandBuffer& argCurrentBuffer, uint32 argCurrentPositon);
|
||||
virtual bool get_IsPreconditionForNextCommands() const { return m_IsPreconditionForFollowingShaders; }
|
||||
virtual string8 get_UserName() const { return "ShaderParameterCollection"; }
|
||||
|
||||
void UseOnShader(IShader& argShader);
|
||||
|
||||
protected:
|
||||
IEngine& m_Engine;
|
||||
|
||||
BasisShaderParameterCollection m_BasisShaderParameterCollection;
|
||||
bool m_IsPreconditionForFollowingShaders;
|
||||
unsigned char m_BasePriority;
|
||||
};
|
||||
Reference in New Issue
Block a user