Пример #1
0
 protected VertexArray(int vertexArrayId, VertexBuffer vertexBuffer, ShaderProgram shader, Texture texture, ElementBuffer elementBuffer, params VertexAttribute[] vertexAttributes) : this(vertexArrayId, vertexBuffer)
 {
     Shaders.Add(shader);
     Textures.Add(texture);
     ElementBuffer = elementBuffer;
     _vertexAttributes.AddRange(vertexAttributes);
 }
Пример #2
0
        public static VertexArray CreateVertexArray(VertexBuffer vertexBuffer, ShaderProgram shader, ElementBuffer elementBuffer)
        {
            var vertexArrayId = GL.GenVertexArray();

            GL.BindVertexArray(vertexArrayId);
            var vertexArray = new VertexArray(vertexArrayId, vertexBuffer);

            vertexArray.Shaders.Add(shader);
            vertexArray.ElementBuffer = elementBuffer;
            return(vertexArray);
        }
Пример #3
0
        public static VertexArray CreateVertexArray(ColoredTexturedVertex[] vertices, ShaderProgram shader, ElementBuffer elementBuffer, string textureFilepath, params VertexAttribute[] vertexAttributes)
        {
            var vertexArrayId = GL.GenVertexArray();

            GL.BindVertexArray(vertexArrayId);
            var vertexBuffer = VertexBuffer.CreateVertexBuffer();

            vertexBuffer.LoadData(vertices);
            var texture     = Texture.LoadTexture(textureFilepath);
            var vertexArray = new VertexArray(vertexArrayId, vertexBuffer, shader, texture, elementBuffer, vertexAttributes);

            return(vertexArray);
        }