private VertexBuffer GetColorBuffer(string varNameInShader)
{
float[] textures = GetTextureCoords(this.GridBlockProperties[this.defaultBlockPropertyIndex]);
int gridCellCount = this.DataSource.DimenSize;
int length = gridCellCount;
VertexBuffer buffer = VertexBuffer.Create(typeof(HexahedronTexCoord), length, VBOConfig.Float, varNameInShader, BufferUsage.StaticDraw);
unsafe
{
IntPtr pointer = buffer.MapBuffer(MapBufferAccess.WriteOnly);
var array = (HexahedronTexCoord*)pointer;
for (int gridIndex = 0; gridIndex < gridCellCount; gridIndex++)
{
array[gridIndex].SetCoord(textures[gridIndex]);
}
buffer.UnmapBuffer();
}
return buffer;
}