onRender method

  1. @override
void onRender(
  1. Canvas canvas,
  2. Matrix4 viewProjection
)
override

Override for custom rendering.

Implementation

@override
void onRender(Canvas canvas, Matrix4 viewProjection) {
  final half = size / 2;
  final step = size / divisions;
  final mvp = viewProjection * worldMatrix;

  for (var i = 0; i <= divisions; i++) {
    final pos = -half + i * step;
    final isCenter = i == divisions ~/ 2;
    final lineColor = isCenter ? centerLineColor : color;

    // Lines along X axis
    _drawLine3D(
      canvas,
      mvp,
      Vector3(pos, 0, -half),
      Vector3(pos, 0, half),
      lineColor,
    );

    // Lines along Z axis
    _drawLine3D(
      canvas,
      mvp,
      Vector3(-half, 0, pos),
      Vector3(half, 0, pos),
      lineColor,
    );
  }
}