using SlimDX.Direct3D10; using SlimDX; namespace Aiwaz.Contracts { public enum ParameterBindType { BindBySemantic, BindByVariable }; public interface IShaderParameter { ParameterBindType ParameterNameType { get; } void ApplyValue(EffectVariable argVariable); }; public interface IShaderParameterSet { bool IsPreconditionForFollowingShaders { get; set; } void SetParameter(string argParameterName, IShaderParameter ar_Parameter_); void SetParameter(string argParameterName, ITexture argParameter, ParameterBindType argParamNameType); void SetParameter(string argParameterName, float argParameter, ParameterBindType argParamNameType); void SetParameter(string argParameterName, Vector3 ar_Parameter_, ParameterBindType argParamNameType); void SetParameter(string argParameterName, Vector4 ar_Parameter_, ParameterBindType argParamNameType); void SetParameter(string argParameterName, Matrix argParameter, ParameterBindType argParamNameType); void SetParameter(string argParameterName, bool argParameter, ParameterBindType argParamNameType); void SetParameter(string argParameterName, Reference argParameter, ParameterBindType argParamNameType); void RemoveParameter(string argParameterName); }; }