Skip to content

View System ​

If RedGPUContext learned earlier is the 'environment' where the engine runs, the View System is the 'frame' that determines how actual content is displayed within that environment.

1. Architecture and Role ​

As the core architecture of RedGPU that binds 3D spatial data with camera viewpoints to render on screen, the View System performs the following roles:

  • Scene Composition: Defines the hierarchical placement of objects and lights in 3D space (Scene)
  • Viewpoint & Input Control: Projects 3D space onto a 2D screen and updates the viewpoint according to user input (Camera, AController)
  • Screen Output & Environment Isolation: Defines viewport bounds and applies independent environment settings and post-effects per view (View3D)
  1. RedGPUContext holds one or more View3D instances (e.g., main game screen and minimap).
  2. Each View3D connects what to display (Scene) with where to look from (Camera).
  3. Controllers (such as OrbitController) receive user input and move the Camera.

Thanks to this architecture, a single Scene can be viewed simultaneously from multiple angles through multiple View3D instances.


2. Core Components ​

The four core modules that make up RedGPU's rendering pipeline:

ModulePrimary Role & Features
View3DSpecifies the screen output area (Viewport) and manages skybox (skybox), environment lighting (ibl), post-effects (postEffectManager), and debugging tools (grid, axis) per view.
SceneCentrally manages the hierarchy of 3D objects to render (Scene Graph), lighting (lightManager), shadows (shadowManager), and terrain/water systems.
CameraComputes the Projection and View matrices that transform 3D space into 2D screen space and manages automatic exposure (useAutoExposure).
AControllerDetects mouse, touch, and keyboard input to update camera transforms in real time (OrbitController, FreeController, FollowController, etc.).

3. Learning Roadmap ​

We recommend learning the detailed usage and configuration of each module in the following order:

  1. View3D: Basic rendering unit and viewport layout configuration
  2. Scene: Root container that composes the stage and manages objects and lights
  3. Camera: Understanding viewpoints that transform 3D coordinates into screen coordinates
  4. Camera Controller: Interactive camera manipulation via mouse, touch, and keyboard


Next Steps ​

First, let's explore how to create View3D—the core rendering unit of the View System—and control its viewport layout.

  • View3D: Basic rendering unit and viewport layout configuration