<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ModelIO",
  "identifier" : "/documentation/ModelIO/MDLCamera/exposure",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Model I/O"
    ],
    "preciseIdentifier" : "c:objc(cs)MDLCamera(py)exposure"
  },
  "title" : "exposure"
}
-->

# exposure

Red, green, and blue factors that scale each color channel in the camera’s image.

```
var exposure: vector_float3 { get set }
```

## Discussion

Simulating a real-world camera requires considering the way a pixel value captured by an imaging sensor is processed for display (or how a unit of film stock is developed and projected). Part of such consideration is the exposure level for each channel, applied to each color channel using the following formula:

`baseValue = (sensorValue + flash) * exposure`

In this formula, `sensorValue` is the color level recorded by a sensor. In rendering, this value corresponds to the color component output of the rest of the rendering process before physical camera simulation effects are added. The baseValue produced by this formula should then be used with the [`exposureCompression`](/documentation/ModelIO/MDLCamera/exposureCompression) property to produce a final output color level.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)