---
title: MDLCamera
framework: modelio
role: symbol
role_heading: Class
path: modelio/mdlcamera
---

# MDLCamera

A point of view for rendering a 3D scene, along with a set of parameters describing an intended appearance for rendering.

## Declaration

```swift
class MDLCamera
```

## Overview

Overview Camera parameters include basic information—such as the projectionMatrix and fieldOfView properties—for use with any renderer, as well as attributes that model real-world cameras—such as the fStop and exposure properties—for use in a renderer based on realistic optical physics.

## Topics

### Managing Camera Position and Orientation

- [frameBoundingBox(_:setNearAndFar:)](modelio/mdlcamera/frameboundingbox(_:setnearandfar:).md)
- [look(at:)](modelio/mdlcamera/look(at:).md)
- [look(at:from:)](modelio/mdlcamera/look(at:from:).md)

### Managing Camera Perspective

- [projectionMatrix](modelio/mdlcamera/projectionmatrix.md)
- [projection](modelio/mdlcamera/projection.md)
- [MDLCameraProjection](modelio/mdlcameraprojection.md)
- [nearVisibilityDistance](modelio/mdlcamera/nearvisibilitydistance.md)
- [farVisibilityDistance](modelio/mdlcamera/farvisibilitydistance.md)
- [fieldOfView](modelio/mdlcamera/fieldofview.md)
- [ray(to:forViewPort:)](modelio/mdlcamera/ray(to:forviewport:).md)
- [worldToMetersConversionScale](modelio/mdlcamera/worldtometersconversionscale.md)

### Modeling a Physical Lens

- [barrelDistortion](modelio/mdlcamera/barreldistortion.md)
- [fisheyeDistortion](modelio/mdlcamera/fisheyedistortion.md)
- [opticalVignetting](modelio/mdlcamera/opticalvignetting.md)
- [chromaticAberration](modelio/mdlcamera/chromaticaberration.md)
- [focalLength](modelio/mdlcamera/focallength.md)
- [fStop](modelio/mdlcamera/fstop.md)
- [apertureBladeCount](modelio/mdlcamera/aperturebladecount.md)
- [bokehKernel(withSize:)](modelio/mdlcamera/bokehkernel(withsize:).md)
- [maximumCircleOfConfusion](modelio/mdlcamera/maximumcircleofconfusion.md)
- [focusDistance](modelio/mdlcamera/focusdistance.md)
- [shutterOpenInterval](modelio/mdlcamera/shutteropeninterval.md)

### Modeling a Physical Imaging Surface

- [sensorVerticalAperture](modelio/mdlcamera/sensorverticalaperture.md)
- [sensorAspect](modelio/mdlcamera/sensoraspect.md)
- [sensorEnlargement](modelio/mdlcamera/sensorenlargement.md)
- [sensorShift](modelio/mdlcamera/sensorshift.md)
- [flash](modelio/mdlcamera/flash.md)
- [exposure](modelio/mdlcamera/exposure.md)
- [exposureCompression](modelio/mdlcamera/exposurecompression.md)

## Relationships

### Inherits From

- [MDLObject](modelio/mdlobject.md)

### Inherited By

- [MDLStereoscopicCamera](modelio/mdlstereoscopiccamera.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [MDLNamed](modelio/mdlnamed.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Cameras

- [MDLStereoscopicCamera](modelio/mdlstereoscopiccamera.md)
