protected virtual void ReadGeometryPositions( short bindIdx, BinaryReader reader, VertexData data )
{
data.vertexDeclaration.AddElement( bindIdx, 0, VertexElementType.Float3, VertexElementSemantic.Position );
// vertex buffers
HardwareVertexBuffer vBuffer = HardwareBufferManager.Instance.CreateVertexBuffer( data.vertexDeclaration.Clone( bindIdx ), data.vertexCount, mesh.VertexBufferUsage, mesh.UseVertexShadowBuffer );
IntPtr posData = vBuffer.Lock( BufferLocking.Discard );
// ram the floats into the buffer data
ReadFloats( reader, data.vertexCount * 3, posData );
// unlock the buffer
vBuffer.Unlock();
// bind the position data
data.vertexBufferBinding.SetBinding( bindIdx, vBuffer );
}