question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Multiple Viewports

See original GitHub issue

Allow for multiple viewports/camera views in a single canvas.

  • One SceneManager containing multiple Scenes
    • SceneManager contains all non-view dependent primitives.
      • Primitives updated once and rendered in each viewport
      • Option on each primitive to hide for any number of viewports
    • Each Scene contains a copy of view dependent primitives.
      • Includes Globe
        • All globes search terrain geometry and texture cache before requests
        • All globes have the same terrain and imagery providers?
        • Allow globes to have different terrain and imagery providers?
        • Allow for different celestial bodies? (not implemented)
      • Includes 3D Tilesets
        • All tilesets search a geometry and texture cache before requests
        • Allow different styling?
          • Each tileset will have its own style and batch table
      • Any other primitive where each vertex needs to be multiplied by a view dependent transform on the CPU.
  • One Scene with a list of Viewports that contain a camera and viewport rectangle.
    • Non-view dependent primitives updated and rendered in each viewport.
    • View dependent primitives can keep a command list per-viewport after updating for each camera
      • Can not have different terrain or imagery provider
      • Can not style 3D Tilesets per viewport.

The first option is more flexible but more complex. The second option is simpler but has a couple of constraints.

  • Z-order the viewports. Model after PrimitiveCollection.
  • ScreenSpaceCameraController needs to know which viewport the input originated in.
  • Viewport positioning.
    • Absolute values. App responsible for resizes
    • Custom positioning implementation
    • Position with CSS and hidden divs. Potentially expensive.
  • Screen space passes for each viewport and for the final framebuffer.
  • Allow the same primitive to have a different material in each viewport? (probably not)

Issue Analytics

  • State:open
  • Created 6 years ago
  • Comments:10 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
DoubleYellowEggcommented, Dec 5, 2019

What is the current progress? Is there no follow-up to this question?

0reactions
OmarShehatacommented, Apr 18, 2019

Requested again on the forum: https://groups.google.com/d/msg/cesium-dev/SUqz4UGrSMA/F-l1ZuRTBwAJ

There is a common need for monitoring system: Users want to see more then one screen at the same time and each screen show a map in 3D or 2D and display diffrent images. For example,the first shows satellite images in 3D ,the second shows road map in 2D, … They expect the multiple screens show the same data and synchronized. The data maybe come from server or mouse ploting.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Need to create and arrange multiple viewports? Use MVSETUP
On the layout sheet, choose the Create Viewport option and specify the viewport type, extents of views, number in terms of rows and...
Read more >
multiple viewports - threejs - Google Sites
Key to dual viewport display: WebGLRenderer has many properties. In all previous examples, we simply use renderer.setSize (width, height).
Read more >
Multiple Viewports in Model Space - Cadalyst CAD Tips
You have the ability to view up to four viewports at a time in various arrangements. This handy tool is located on the...
Read more >
Rendering to Multiple Viewports in a Draw Command
A viewport defines a subsection of the render targets that you want a drawing command to render into. Using viewport selection, you provide...
Read more >
Multiple Viewports - 2021 - SOLIDWORKS Help
In the 3D PDF Template Editor, you can add more than one viewport to a template. You can project viewports from the primary...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found