CSharpGL.Tetrahedron.GetVertexAttributeBuffer C# (CSharp) Method

GetVertexAttributeBuffer() public method

public GetVertexAttributeBuffer ( string bufferName, string varNameInShader ) : VertexBuffer
bufferName string
varNameInShader string
return VertexBuffer
        public VertexBuffer GetVertexAttributeBuffer(string bufferName, string varNameInShader)
        {
            if (bufferName == strPosition)
            {
                if (this.positionBuffer == null)
                {
                    //int length = TetrahedronModel.position.Length;
                    //VertexBuffer buffer = VertexBuffer.Create(typeof(vec3), length, VBOConfig.Vec3, varNameInShader, BufferUsage.StaticDraw);
                    //unsafe
                    //{
                    //    IntPtr pointer = buffer.MapBuffer(MapBufferAccess.WriteOnly);
                    //    var array = (vec3*)pointer;
                    //    for (int i = 0; i < TetrahedronModel.position.Length; i++)
                    //    {
                    //        array[i] = TetrahedronModel.position[i];
                    //    }
                    //    buffer.UnmapBuffer();
                    //}
                    //this.positionBuffer = buffer;
                    this.positionBuffer = TetrahedronModel.position.GenVertexBuffer(VBOConfig.Vec3, varNameInShader, BufferUsage.StaticDraw);
                }
                return this.positionBuffer;
            }
            else if (bufferName == strColor)
            {
                if (this.colorBuffer == null)
                {
                    //int length = TetrahedronModel.color.Length;
                    //VertexBuffer buffer = VertexBuffer.Create(typeof(vec3), length, VBOConfig.Vec3, varNameInShader, BufferUsage.StaticDraw);
                    //unsafe
                    //{
                    //    IntPtr pointer = buffer.MapBuffer(MapBufferAccess.WriteOnly);
                    //    var array = (vec3*)pointer;
                    //    for (int i = 0; i < TetrahedronModel.color.Length; i++)
                    //    {
                    //        array[i] = TetrahedronModel.color[i];
                    //    }
                    //    buffer.UnmapBuffer();
                    //}
                    //this.colorBuffer = buffer;
                    this.colorBuffer = TetrahedronModel.color.GenVertexBuffer(VBOConfig.Vec3, varNameInShader, BufferUsage.StaticDraw);
                }
                return this.colorBuffer;
            }
            else if (bufferName == strNormal)
            {
                if (this.normalBuffer == null)
                {
                    //    int length = TetrahedronModel.normal.Length;
                    //    VertexBuffer buffer = VertexBuffer.Create(typeof(vec3), length, VBOConfig.Vec3, varNameInShader, BufferUsage.StaticDraw);
                    //    unsafe
                    //    {
                    //        IntPtr pointer = buffer.MapBuffer(MapBufferAccess.WriteOnly);
                    //        var array = (vec3*)pointer;
                    //        for (int i = 0; i < TetrahedronModel.normal.Length; i++)
                    //        {
                    //            array[i] = TetrahedronModel.normal[i];
                    //        }
                    //        buffer.UnmapBuffer();
                    //    }
                    //    this.normalBuffer = buffer;
                    this.normalBuffer = TetrahedronModel.normal.GenVertexBuffer(VBOConfig.Vec3, varNameInShader, BufferUsage.StaticDraw);
                }
                return this.normalBuffer;
            }
            else
            {
                return null;
            }
        }