// TODO: add default values public ShaderParameter(string parameterName, string registerName, HLSLType type, RenderMethodExtern renderMethodExtern = RenderMethodExtern.none, ShaderParameterFlags flags = ShaderParameterFlags.None) { ParameterName = parameterName; RegisterName = registerName; CodeType = type; RegisterType = GetRegisterType(type); RenderMethodExtern = renderMethodExtern; Flags = flags; }
public void AddFloat4ColorVertexParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, parameterName, HLSLType.Float4, rmExtern, (ShaderParameterFlags.IsVertexShader | ShaderParameterFlags.IsColor))); }
public void AddSamplerVertexParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, parameterName, HLSLType.sampler2D, rmExtern, ShaderParameterFlags.IsVertexShader)); Parameters.Add(new ShaderParameter(parameterName, parameterName + "_xform", HLSLType.Xform_2d, rmExtern, ShaderParameterFlags.IsVertexShader)); }
// // Vertex shader parameters easy add methods // public void AddSamplerWithoutXFormVertexParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, parameterName, HLSLType.sampler2D, rmExtern, ShaderParameterFlags.IsVertexShader)); }
public void AddIntegerParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, parameterName, HLSLType.Int, rmExtern)); }
public void AddFloat3ColorParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, parameterName, HLSLType.Float3, rmExtern, ShaderParameterFlags.IsColor)); }
public void AddXFormOnlyParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, parameterName + "_xform", HLSLType.Xform_2d, rmExtern, ShaderParameterFlags.IsXFormOnly)); }
public void AddIntegerVertexParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, parameterName, HLSLType.Int, rmExtern, ShaderParameterFlags.IsVertexShader)); }
public void AddCategoryVertexParameter(string parameterName, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, "category_" + parameterName, HLSLType.Float4, rmExtern, ShaderParameterFlags.IsVertexShader | ShaderParameterFlags.IsCategory)); }
public void AddPrefixedFloat4VertexParameter(string parameterName, string prefix, RenderMethodExtern rmExtern = RenderMethodExtern.none) { Parameters.Add(new ShaderParameter(parameterName, prefix + parameterName, HLSLType.Float4, rmExtern, ShaderParameterFlags.IsVertexShader)); }