コード例 #1
0
        public ShaderVariable AddVariable(ShaderContext context, string shaderTypeName)
        {
            var variable = new ShaderVariable(context, nextGenericName, shaderTypeName);

            variables.Add(variable);
            return(variable);
        }
コード例 #2
0
ファイル: ProgramScope.cs プロジェクト: rybergy/storybrew
        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);
        }
コード例 #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);
        }
コード例 #4
0
ファイル: ProgramScope.cs プロジェクト: rybergy/storybrew
 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(";");
         }
     }
 }
コード例 #5
0
 public override void Generate(ShaderContext context)
 {
 }
コード例 #6
0
 public virtual void Generate(ShaderContext context)
 => context.Comment(GetType().Name);