renderFromCamera method
Internal rendering method invoked by the CameraComponent.
Implementation
@internal
@override
void renderFromCamera(Canvas canvas) {
final camera = CameraComponent3D.currentCamera!;
final viewport = camera.viewport;
final devicePixelRatio = MediaQuery.of(game.buildContext!).devicePixelRatio;
final size = Size(
viewport.virtualSize.x * devicePixelRatio,
viewport.virtualSize.y * devicePixelRatio,
);
device
// Set the view matrix
..view.setFrom(camera.viewMatrix)
// Set the projection matrix
..projection.setFrom(camera.projectionMatrix)
..begin(size);
culled = 0;
_prepareDevice();
// ignore: invalid_use_of_internal_member
super.renderFromCamera(canvas);
final image = device.end();
canvas.drawImageRect(
image,
Offset.zero & size,
(-viewport.virtualSize / 2).toOffset() &
Size(viewport.virtualSize.x, viewport.virtualSize.y),
_paint,
);
image.dispose();
}