Exemplo n.º 1
0
        public ShaderVariable AddVariable(ShaderContext context, string shaderTypeName)
        {
            var variable = new ShaderVariable(context, nextGenericName, shaderTypeName);

            variables.Add(variable);
            return(variable);
        }
Exemplo n.º 2
0
        public ShaderVariable AddUniform(ShaderContext context, string name, string shaderTypeName, int count = -1)
        {
            var uniform = new ShaderVariable(context, name, shaderTypeName, count);

            uniforms.Add(uniform);
            return(uniform);
        }
Exemplo n.º 3
0
        public ShaderVariable(ShaderContext context, string name, string shaderTypeName = null, int count = -1)
        {
            Context        = context;
            Name           = name;
            ShaderTypeName = shaderTypeName;
            ArrayCount     = count;

            reference = new Reference(this);
        }
Exemplo n.º 4
0
 public void DeclareUnusedVaryingsAsVariables(StringBuilder code, ShaderContext context)
 {
     foreach (var varying in varyings)
     {
         if (!context.Uses(varying))
         {
             code.Append($"{varying.ShaderTypeName} {varying.Name}");
             if (varying.ArrayCount != -1)
             {
                 code.Append($"[{varying.ArrayCount}]");
             }
             code.AppendLine(";");
         }
     }
 }
Exemplo n.º 5
0
 public override void Generate(ShaderContext context)
 {
 }
Exemplo n.º 6
0
 public virtual void Generate(ShaderContext context)
 => context.Comment(GetType().Name);