---
title: "PerspectiveProjection"
description: "API documentation for PerspectiveProjection"
url: https://developer.disguise.one/python-api/docs/perspectiveprojection/
---

# PerspectiveProjection

Base class (inherits properties and methods): _[Projection](/python-api/docs/projection#projection)_

## Properties

#### **centre\_shift** : _[Vec2](/python-api/docs/vec2#vec2)_

_UserName: Centre Shift_

#### **clampContent** : _int_

Outside the perspective frustum, stretch the content edges to cover the target surface.

_Options: {0: ‘No’, 1: ‘Yes’}  
UserName: Content outside frustum_

#### **contentMode** : _int_

For realtime rendered content, the mapping can provide camera parameters in 3D mode.

_Options: {0: ‘2D’, 1: ‘3D’}  
UserName: Content mode_

#### **eye\_point** : _[Vec](/python-api/docs/vec#vec)_

_UserName: Eyepoint_

#### **field\_of\_view** : _float_

_UserName: Field of view_

#### **frame\_of\_reference** : _[AnimationAxisSettings](/python-api/docs/animationaxissettings#animationaxissettings)_

_UserName: Frame of reference_

#### **overscan** : _[Vec2](/python-api/docs/vec2#vec2)_

Ratio to expand projection area by, to account for distortion or other clipping.  
1 means 100%, 2 means 200%.  
Set by parent Camera, if available.

_UserName: Overscan_

#### **pixelBorder** : _int_

UV islands on screens are expanded by this many pixels to cover edge sampling artifacts such as black fringing.  
Note that there must be an equivalent amount of empty space in the screen UV map to take advantage of this.

_UserName: Border expansion_

#### **rotation** : _[Vec](/python-api/docs/vec#vec)_

_UserName: Rotation_

## Variables

#### **Content2D** : _Final\[int\]_ = 0

#### **Content3D** : _Final\[int\]_ = 1
