Esempio n. 1
0
 public ShaderProgram(params Shader[] shaders)
 {
     Variables = new List<Variable>();
     Shaders = shaders.ToList();
     ID = CreateProgram(Shaders);
     int c;
     GL.GetProgram(ID, GetProgramParameterName.ActiveUniforms, out c);
     for (var i = 0; i < c; i++)
     {
         int size;
         ActiveUniformType type;
         var name = GL.GetActiveUniform(ID, i, out size, out type);
         var loc = GL.GetUniformLocation(ID, name);
         var v = new Variable(loc, name, type);
         Variables.Add(v);
     }
 }
Esempio n. 2
0
 public ShaderProgram(params Shader[] shaders)
 {
     Variables = new List<Variable>();
     Shaders = shaders.ToList();
     ID = CreateProgram(Shaders);
     int c;
     GL.GetProgram(ID, ProgramParameter.ActiveUniforms, out c);
     for (var i = 0; i < c; i++)
     {
         int len, size;
         ActiveUniformType type;
         var sb = new StringBuilder();
         GL.GetActiveUniform(ID, i, 256, out len, out size, out type, sb);
         var loc = GL.GetUniformLocation(ID, sb.ToString());
         var v = new Variable(loc, sb.ToString(), type);
         Variables.Add(v);
     }
 }