/// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Matrix[] value)
 {
     dataType = OpenGLEffectParameterDataType.MatrixArray;
     refData = value;
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Texture2D value)
 {
     dataType = OpenGLEffectParameterDataType.Texture2D;
     refData = value;
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Color[] value)
 {
     dataType = OpenGLEffectParameterDataType.ColorArray;
     refData = value;
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Matrix value)
 {
     dataType = OpenGLEffectParameterDataType.Matrix;
     fixed (Byte* pValData = valData)
     {
         *((Matrix*)pValData) = value;
     }
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Vector4[] value)
 {
     dataType = OpenGLEffectParameterDataType.Vector4Array;
     refData = value;
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Color value)
 {
     dataType = OpenGLEffectParameterDataType.Color;
     fixed (Byte* pValData = valData)
     {
         *((Color*)pValData) = value;
     }
 }
 /// <summary>
 /// Clears the data buffer.
 /// </summary>
 public void Clear()
 {
     dataType = OpenGLEffectParameterDataType.None;
     refData = null;
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Vector4 value)
 {
     dataType = OpenGLEffectParameterDataType.Vector4;
     fixed (Byte* pValData = valData)
     {
         *((Vector4*)pValData) = value;
     }
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Double[] value)
 {
     dataType = OpenGLEffectParameterDataType.DoubleArray;
     refData = value;
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Double value)
 {
     dataType = OpenGLEffectParameterDataType.Double;
     fixed (Byte* pValData = valData)
     {
         *((Double*)pValData) = value;
     }
 }
 /// <summary>
 /// Sets the parameter's value.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(UInt32[] value)
 {
     dataType = OpenGLEffectParameterDataType.UInt32Array;
     refData = value;
 }
 /// <summary>
 /// Sets the parameter's value.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(UInt32 value)
 {
     dataType = OpenGLEffectParameterDataType.UInt32;
     fixed (Byte* pValData = valData)
     {
         *((UInt32*)pValData) = value;
     }
 }
 /// <summary>
 /// Sets a value into the buffer.
 /// </summary>
 /// <param name="value">The value to set.</param>
 public void Set(Boolean value)
 {
     dataType = OpenGLEffectParameterDataType.Boolean;
     fixed (Byte* pValData = valData)
     {
         *((Boolean*)pValData) = value;
     }
 }