# Sync cameras within different canvas

**URL:** <https://discourse.threejs.org/t/sync-cameras-within-different-canvas/56296>\
**Category:** Questions\
**Tags:** camera\
**Created:** [September 22, 2023, 12:08pm UTC](https://discourse.threejs.org/t/sync-cameras-within-different-canvas/56296 "2023-09-22T12:08:46Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![drcmda](https://avatars.discourse-cdn.com/v4/letter/d/91b2a8/32.png) [@drcmda](https://discourse.threejs.org/u/drcmda)\
**Post date:** [September 22, 2023, 10:18pm UTC](https://discourse.threejs.org/t/sync-cameras-within-different-canvas/56296/2 "2023-09-22T22:18:25Z")

</div>

use drei/view for this. it is generally better to use a single canvas and split it with gl-skissor which is what view does for you. it runs faster and you can share resources (textures, materials etc) but each view still is isolated.

> **[Multiple views with uniform controls - CodeSandbox](https://codesandbox.io/s/multiple-views-with-uniform-controls-r9w2ob)**
>
> Shows how to form self-contained components with their own state and user interaction.

if you want to apply camera matrices you could, for instance, use the cameras worldMatrix or quaternion and apply it to the scene.

or, just don’t define a camera in the other view and makeDefault the control in the first and that’s it [View skissor, same camera - CodeSandbox](https://codesandbox.io/s/view-skissor-same-camera-6otm2d?file=/src/App.js) you can also put the orbitcontrols into the canvas as a direct child and it would affect all views.

---

_[View the full topic](https://discourse.threejs.org/t/sync-cameras-within-different-canvas/56296)._
