<!--
{
  "availability" : [
    "FxPlug: 4.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "professional_video_applications",
  "identifier" : "/documentation/professional_video_applications/FxImageTile",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Professional Video Applications"
    ],
    "preciseIdentifier" : "c:objc(cs)FxImageTile"
  },
  "title" : "FxImageTile"
}
-->

# FxImageTile

An image tile object that is passed between an out-of-process FxPlug plug-in and a host application.

```
class FxImageTile
```

## Overview

An [`FxTileableEffect`](/documentation/professional_video_applications/FxTileableEffect) will receive all images as `FxImageTile` objects. These are passed to effects to describe tiles within the full image that need to be rendered. The image data is contained in the [`ioSurface`](/documentation/professional_video_applications/FxImageTile/ioSurface) property. This property may be nil during calls to the plug-in to gather information rather than rendering.

## Topics

### Instance Properties

[`var deviceRegistryID: UInt64`](/documentation/professional_video_applications/FxImageTile/deviceRegistryID)

The registryID of the Metal device or OpenGL renderer used to create this texture.

[`var eyeType: FxEyeType`](/documentation/professional_video_applications/FxImageTile/eyeType)

The stereoscopic eye type of the image tile.

[`var field: FxField`](/documentation/professional_video_applications/FxImageTile/field)

Which field of the image this is.

[`var fieldOrder: FxFieldOrder`](/documentation/professional_video_applications/FxImageTile/fieldOrder)

What the field order of the image is.

[`var imageOrigin: FxImageOrigin`](/documentation/professional_video_applications/FxImageTile/imageOrigin)

The origin of the image tile.

[`var imagePixelBounds: FxRect`](/documentation/professional_video_applications/FxImageTile/imagePixelBounds)

The pixel bounds of the entire image.

[`var imageSource: FxImageTileRequestSource`](/documentation/professional_video_applications/FxImageTile/imageSource)

Whether this image tile is from an effect source or an image well parameter.

[`var inversePixelTransform: FxMatrix44!`](/documentation/professional_video_applications/FxImageTile/inversePixelTransform)

The inverse of the [`pixelTransform`](/documentation/professional_video_applications/FxImageTile/pixelTransform).

[`var ioSurface: IOSurface!`](/documentation/professional_video_applications/FxImageTile/ioSurface)

The surface object to cast as a surface reference.

[`var mediaTime: CMTime`](/documentation/professional_video_applications/FxImageTile/mediaTime)

The media time of this image tile.

[`var parameterID: UInt32`](/documentation/professional_video_applications/FxImageTile/parameterID)

The parameter ID of the image well parameter of the source of this image tile. `0` if it is the effect source and not from a parameter.

[`var pixelTransform: FxMatrix44!`](/documentation/professional_video_applications/FxImageTile/pixelTransform)

The transformation between pixel units and idealized, 100% scale, square pixel image units.

[`var requestError: (any Error)!`](/documentation/professional_video_applications/FxImageTile/requestError)

Any errors that occurred from the image request. Can be nil if there were no errors or errors are not applicable.

[`var tilePixelBounds: FxRect`](/documentation/professional_video_applications/FxImageTile/tilePixelBounds)

The pixel bounds of this tile.

[`var colorSpace: CGColorSpace!`](/documentation/professional_video_applications/FxImageTile/colorSpace)

The CGColorSpaceRef that matches the color space used in creating the image.

### Instance Methods

[`func metalTexture(for: (any MTLDevice)!) -> (any MTLTexture)!`](/documentation/professional_video_applications/FxImageTile/metalTexture(for:))

Retrieve a Metal texture from the IOSurface for rendering on the passed-in device. The returned texture is autoreleased.

[`func openGLTexture(forContext: CGLContextObj!) -> GLuint`](/documentation/professional_video_applications/FxImageTile/openGLTexture(forContext:))

Retrieve an OpenGL texture from the [`ioSurface`](/documentation/professional_video_applications/FxImageTile/ioSurface) for rendering with the passed-in context. You are responsible for deleting this texture.

### Enumerations

[`typealias FxError`](/documentation/professional_video_applications/FxError)

Errors returned by plug-in hosts applications.

[`struct FxEyeType`](/documentation/professional_video_applications/FxEyeType)

Identifies which eye is being sent from a stereoscopic project.

[`struct FxImageTileRequestSource`](/documentation/professional_video_applications/FxImageTileRequestSource)

An enumeration that identifies the requested frame.

### Initializers

[`init?(coder: NSCoder)`](/documentation/professional_video_applications/FxImageTile/init(coder:))

### Instance Properties

[`var pixelAspect: Double`](/documentation/professional_video_applications/FxImageTile/pixelAspect)

The ratio of the width of each pixel to its height.

[`var scaleX: Double`](/documentation/professional_video_applications/FxImageTile/scaleX)

The horizontal scale value.

[`var scaleY: Double`](/documentation/professional_video_applications/FxImageTile/scaleY)

The vertical scale value.

## Relationships

### Conforms To

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)