Skip to content

Embedded and standalone viewport management

lordloki edited this page Sep 15, 2018 · 1 revision

Introduction

The embedded and standalone viewport are managed quite differently. The major difference is that embedded player allow to set a camera zoom which reduce or increase the render area.

Framing

To adjust the camera viewport to the render area, framing is used. Three framing modes are possible.

Letter box This framing adjust to the render area by adding colored bars, all the compute for both standalone and embedded player is done in RAS_FramingManager::ComputeViewport.

Extend This framing mode deform the camera viewport to match the render area, all the compute for both standalone and embedded player is done in RAS_FramingManager::ComputeViewport.

Scaling This framing mode scale the camera viewport to match the render area, all the compute for both standalone and embedded player is done in RAS_FramingManager::ComputeViewport.

Embedded player exception.

Standalone player allow to use all the framing modes contrary to the embedded player which always use the extend framing management with a camera zoom. The zoom is to 1 when the framing mode set by the user is Letter Box, else the zoom is to match the render area. The zoom is computed in LA_BlenderLauncher::InitCamera. This workaround simulate a Letter Box by only restrict the render area and clear the zone outside.

Mouse coordinates

Because embedded player is simulating a Letter Box framing with a Extendframing in a restricted area, the mouse coordinate is different than the real Letter Box framing in the standalone player.

Clone this wiki locally