---
title: "perspective(leftTangent:rightTangent:topTangent:bottomTangent:nearZ:farZ:reverseZ:)"
framework: realitykit
role: symbol
role_heading: Type Method
path: "realitykit/lowlevelrenderer/camera/projection-swift.struct/perspective(lefttangent:righttangent:toptangent:bottomtangent:nearz:farz:reversez:)"
---

# perspective(leftTangent:rightTangent:topTangent:bottomTangent:nearZ:farZ:reverseZ:)

Creates an off-axis perspective projection from explicit frustum tangents.

## Declaration

```swift
static func perspective(leftTangent: Float, rightTangent: Float, topTangent: Float, bottomTangent: Float, nearZ: Float, farZ: Float, reverseZ: Bool = true) -> LowLevelRenderer.Camera.Projection
```

## Parameters

- `leftTangent`: The tangent of the left frustum half-angle.
- `rightTangent`: The tangent of the right frustum half-angle.
- `topTangent`: The tangent of the top frustum half-angle.
- `bottomTangent`: The tangent of the bottom frustum half-angle.
- `nearZ`: The distance to the near clipping plane.
- `farZ`: The distance to the far clipping plane.
- `reverseZ`: If true, the depth range is reversed (1 at near, 0 at far). Defaults to true.

## Return Value

Return Value An off-axis perspective LowLevelRenderer.Camera.Projection.

## See Also

### Creating perspective projections

- [perspective(fovYRadians:aspectRatio:nearZ:farZ:reverseZ:)](realitykit/lowlevelrenderer/camera/projection-swift.struct/perspective(fovyradians:aspectratio:nearz:farz:reversez:).md)
