Aiv.Fast2D.Mesh.Mesh C# (CSharp) Метод

Mesh() публичный Метод

public Mesh ( Shader shader = null ) : OpenTK.Graphics.OpenGL
shader Shader
Результат OpenTK.Graphics.OpenGL
        public Mesh(Shader shader = null)
        {
            this.customBuffers = new Dictionary<int, VertexAttrib>();

            // use VAO if possible
            this.vertexArrayId = NewVAO();
            if (this.vertexArrayId > -1)
            {
                this.Bind();
            }

            // vertex
            this.vBufferId = NewVBO();
            GL.BindBuffer(BufferTarget.ArrayBuffer, this.vBufferId);
            int vertexAttribId = 0;
            GL.EnableVertexAttribArray(vertexAttribId);
            GL.VertexAttribPointer(vertexAttribId, 2, VertexAttribPointerType.Float, false, 0, IntPtr.Zero);

            // uv
            this.uvBufferId = NewVBO();
            GL.BindBuffer(BufferTarget.ArrayBuffer, this.uvBufferId);
            int uvAttribId = 1;
            GL.EnableVertexAttribArray(uvAttribId);
            GL.VertexAttribPointer(uvAttribId, 2, VertexAttribPointerType.Float, false, 0, IntPtr.Zero);

            // vc
            this.vcBufferId = NewVBO();
            GL.BindBuffer(BufferTarget.ArrayBuffer, this.vcBufferId);
            int vcAttribId = 2;
            GL.EnableVertexAttribArray(vcAttribId);
            GL.VertexAttribPointer(vcAttribId, 4, VertexAttribPointerType.Float, false, 0, IntPtr.Zero);

            if (shader == null)
            {
                shader = simpleShader;
                shader.SetUniform("tex", 0);
            }

            this.shader = shader;

            this.noMatrix = false;
            this.hasVertexColors = true;
            this.requireUseTexture = true;
        }