CapturedDraw.fromJson constructor

CapturedDraw.fromJson(
  1. Map<String, Object?> json
)

Rebuilds a draw from toJson output. Shader objects are not restored; their names are.

Implementation

factory CapturedDraw.fromJson(Map<String, Object?> json) => CapturedDraw(
  passIndex: json['pass'] as int,
  order: json['order'] as int,
  phase: _enumByName(DrawPhase.values, json['phase']) ?? DrawPhase.other,
  vertexCount: json['vertexCount'] as int,
  instanceCount: json['instanceCount'] as int,
  indexed: json['indexed'] as bool? ?? false,
  batchedItems: json['batchedItems'] as int? ?? 1,
  batchBreak:
      _enumByName(BatchBreakReason.values, json['batchBreak']) ??
      BatchBreakReason.none,
  uniformBlocks: [
    for (final block in (json['uniformBlocks'] as List? ?? const []))
      CapturedUniformBlock.fromJson((block as Map).cast<String, Object?>()),
  ],
  nodePath: json['node'] as String?,
  materialType: json['material'] as String?,
  materialSource: json['materialSource'] as String?,
  geometryType: json['geometry'] as String?,
  pipelineId: json['pipeline'] as int?,
  vertexShaderName: json['vertexShader'] as String?,
  fragmentShaderName: json['fragmentShader'] as String?,
);