public float GetVertex( int x, int z, int n )
{
HardwareVertexBuffer buffer = terrain.vertexBufferBinding.GetBuffer( POSITION );
float[] vertex = new float[ 1 ];
IntPtr ptr = Memory.PinObject( vertex );
int offset = ( x * 3 + z * options.size * 3 + n ) * 4;
buffer.ReadData( offset, 4, ptr );
Memory.UnpinObject( vertex );
return vertex[ 0 ];
}