A screen onto which the game is projected
When adding multiple viewports, its as if we give the game multiple screens to draw onto
Viewports that are not the root are called render targets
Use Cases:
- Rendering 3D objects within a 2D game
- Rendering 2D elements in a 3D game
- Rendering dynamic textures
- Generating procedural textures at runtime
- Rendering multiple cameras in the same scene (only one camera per viewport)