public BufferObject SetAttributeData(StandardAttribute attribute, AttributeBuffer data, bool normalize) { var attrIndex = (uint)attribute; Bind(); if (data == null) { Context.DisableVertexAttribArray(attrIndex); Disposer.Dispose(ref _attributeBuffers[attrIndex]); return(null); } BufferObject buffer; if (_attributeBuffers[attrIndex] == null) { buffer = new BufferObject(BufferObjectTypes.Vertex); _attributeBuffers[attrIndex] = buffer; } else { buffer = _attributeBuffers[attrIndex]; } Context.EnableVertexAttribArray((uint)attribute); buffer.BufferData(data); Context.VertexAttribPointer(attrIndex, data.StructInLine, data.DataType, normalize, 0, 0); return(buffer); }
public void SetIndices(AttributeBuffer data) { if (data == null) { Disposer.Dispose(ref _indexBuffer); return; } Bind(); if (_indexBuffer == null) { _indexBuffer = new BufferObject(BufferObjectTypes.Index); } _indexBuffer.BufferData(data); }