diff --git a/Diamond/Buffer.cs b/Diamond/Buffer.cs
index 7d484c5..3a19898 100644
--- a/Diamond/Buffer.cs
+++ b/Diamond/Buffer.cs
@@ -157,10 +157,20 @@ namespace Diamond
/// Upload data to this buffer. Deletes the existing data store and creates a new one
/// from the marshalled size of T.
///
+ ///
+ /// BufferUsageHint should be based off of what the user will be doing with the buffer.
+ ///
+ /// DRAW: The user will be writing data to the buffer, but the user will not read it.
+ /// READ: The user will not be writing data, but the user will be reading it back.
+ /// COPY: The user will be neither writing nor reading the data.
+ ///
+ /// STATIC: The user will set the data once.
+ /// DYNAMIC: The user will set the data occasionally.
+ /// STREAM: The user will be changing the data after every use.Or almost every use.
+ ///
/// Data element type, used with Marshal.SizeOf to calculate size of data store
/// Values to upload
/// Usage hint for for this data.
- // todo: add usage hint documentation
public void Upload(T[] data, BufferUsageHint usage = BufferUsageHint.StaticDraw) where T : struct
{
Logger.Debug("Updating {0} data (replacing store)", this);
@@ -190,11 +200,21 @@ namespace Diamond
///
/// Creates a buffer, initialized with an array
///
+ ///
+ /// BufferUsageHint should be based off of what the user will be doing with the buffer.
+ ///
+ /// DRAW: The user will be writing data to the buffer, but the user will not read it.
+ /// READ: The user will not be writing data, but the user will be reading it back.
+ /// COPY: The user will be neither writing nor reading the data.
+ ///
+ /// STATIC: The user will set the data once.
+ /// DYNAMIC: The user will set the data occasionally.
+ /// STREAM: The user will be changing the data after every use.Or almost every use.
+ ///
/// Data element type.
/// Data used to initialize the buffer
/// The usage hint for this buffer
/// The initialized buffer, or null if initialization failed
- // todo: add usage hint documentation
public static Buffer FromData(T[] data, BufferUsageHint usage = BufferUsageHint.StaticDraw)
where T : struct
{
@@ -212,7 +232,6 @@ namespace Diamond
/// Generic overload for Buffer. Caches properties like data, usage, and size.
///
/// Data type used for all operations
- // todo this needs to be made as complete as the non-generic version
public sealed class Buffer : Buffer where T : struct
{
///
@@ -233,9 +252,19 @@ namespace Diamond
///
/// Upload data to this buffer. Deletes the existing data store and creates a new one.
///
+ ///
+ /// BufferUsageHint should be based off of what the user will be doing with the buffer.
+ ///
+ /// DRAW: The user will be writing data to the buffer, but the user will not read it.
+ /// READ: The user will not be writing data, but the user will be reading it back.
+ /// COPY: The user will be neither writing nor reading the data.
+ ///
+ /// STATIC: The user will set the data once.
+ /// DYNAMIC: The user will set the data occasionally.
+ /// STREAM: The user will be changing the data after every use.Or almost every use.
+ ///
/// Values to upload
/// Usage hint for for this data.
- // todo: add usage hint documentation
public void Upload(T[] data, BufferUsageHint usage = BufferUsageHint.StaticDraw)
{
base.Upload(data, usage);