Try our affiliated browser extension - redirect to BreezeWiki automatically!

Rendering

Rendering is the processing of objects in both the 3D space (e.g. parts) and the 2D space (e.g. GUI) to be displayed onto the screen per frame, done by the Roblox engine. The objects rendered are collectively known as a scene.

The engine has a level setting ("Graphics Quality" in the menu) that controls how objects are rendered for performance.

Scene

A scene refers to the rendering space of a place. Objects rendered can be categorized into two scenes: 3D and 2D.

3D

In Workspace, parts, particles and 3D GUI are rendered. Lighting simulates how light is rendered in the scene and has its own API provided by the Lighting service. Global objects includes the skybox, celestial bodies, fog/atmosphere and clouds.

In ViewportFrame, only parts are rendered. ViewportFrame has its own lighting settings and does not include global objects or terrain.

Camera provides an API to manipulate some of the renderer's properties, and is also used in ViewportFrame. In Workspace, a Camera is automatically given for each client (including the server) whenever a Camera is not present in the Workspace.

2D

2D GUIs are the only objects that can be rendered in 2D without having to be rendered in the 3D space first. GUIs are rendered on top of the 3D scene unless if they are linked to parts through SurfaceGui or BillboardGui with AlwaysOnTop property set to false.

Task Scheduler

The Task Scheduler processes objects (within the Scene label in the MicroProfiler) and processes the scene to be rendered through three routines which can also be viewed in the MicroProfiler ("GPU" group):

  • Prepare, information from the current state of a place is used to update rendering models.
  • Perform, issues rendering commands.
  • Present, synchronizes with rendering.

Graphics API

Rendering uses a graphics API to process the scene for displaying onto the screen. The graphics API can be switched in Roblox Studio settings. However, it does not affect Roblox Player as graphics mode is automatically selected depending on the device's specifications.

Supported graphics APIs