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);