Beispiel #1
0
        private static void DrawBlockLine(float[] data, int start, int end, DrawArea area, Color color)
        {
            Vector3 v0 = Vector3.Zero;
            Vector3 v1 = Vector3.Zero;

            for (int i = start + 1; i <= end; i++)
            {
                v0.X = -1.0f + area.x_start + area.x_scale * (i - 1) / 512.0f;
                v0.Y = area.y_start + data[i - 1] * area.y_scale * area.y_inv_range;
                v0.Z = 0;

                v1.X = -1.0f + area.x_start + area.x_scale * i / 512.0f;
                v1.Y = area.y_start + data[i] * area.y_scale * area.y_inv_range;
                v1.Z = 0;

                if (v0.Y - area.y_start > 1e-3f || v1.Y - area.y_start > 1e-3f)
                {
                    m_lineBatch.DrawOnScreenLine(v0, v1, color);
                }
            }
        }
 public override void DrawOnScreenLine(Vector3 v0, Vector3 v1, Color color)
 {
     m_lineBatch.DrawOnScreenLine(v0, v1, color);
 }