Example #1
0
 public GLVertexSignature(GLAttribute[] attributes)
 {
     Attributes = attributes.OrderBy(e => e.Location).ToArray();
 }
Example #2
0
        private static GLAttribute[] ExtractAttributes(int programHandle)
        {
            int attributeCount;
            GL.GetProgram(programHandle, GetProgramParameterName.ActiveAttributes, out attributeCount);

            GLAttribute[] attributes = new GLAttribute[attributeCount];

            for (int i = 0; i < attributeCount; ++i)
            {
                int size;
                ActiveAttribType type;
                string name = GL.GetActiveAttrib(programHandle, i, out size, out type);
                int location = GL.GetAttribLocation(programHandle, name);

                attributes[i] = new GLAttribute(type, location, name);
            }

            return attributes;
        }