---
title: CIRenderDestination
framework: coreimage
role: symbol
role_heading: Class
path: coreimage/cirenderdestination
---

# CIRenderDestination

A specification for configuring all attributes of a render task’s destination and issuing asynchronous render tasks.

## Declaration

```swift
class CIRenderDestination
```

## Overview

Overview The CIRenderDestination class provides an API for specifying a render task destination’s properties, such as buffer format, alpha mode, clamping behavior, blending, and color space, properties formerly tied to CIContext. You can create a CIRenderDestination object for each surface or buffer to which you must render. You can also render multiple times to a single destination with different settings such as colorspace and blend mode by mutating a single CIRenderDestination object between renders. Renders issued to a CIRenderDestination return to the caller as soon as the CPU has issued the task, rather than after the GPU has performed the task, so you can start render tasks on subsequent frames without waiting for previous renders to finish. If the render fails, a CIRenderTask will return immediately.

## Topics

### Creating a Render Destination

- [init(pixelBuffer:)](coreimage/cirenderdestination/init(pixelbuffer:).md)
- [init(ioSurface:)](coreimage/cirenderdestination/init(iosurface:)-1hfcq.md)
- [init(mtlTexture:commandBuffer:)](coreimage/cirenderdestination/init(mtltexture:commandbuffer:)-2iu5i.md)
- [init(width:height:pixelFormat:commandBuffer:mtlTextureProvider:)](coreimage/cirenderdestination/init(width:height:pixelformat:commandbuffer:mtltextureprovider:).md)
- [init(glTexture:target:width:height:)](coreimage/cirenderdestination/init(gltexture:target:width:height:)-9ci8e.md)
- [init(bitmapData:width:height:bytesPerRow:format:)](coreimage/cirenderdestination/init(bitmapdata:width:height:bytesperrow:format:).md)

### Customizing Rendering

- [alphaMode](coreimage/cirenderdestination/alphamode.md)
- [CIRenderDestinationAlphaMode](coreimage/cirenderdestinationalphamode.md)
- [blendKernel](coreimage/cirenderdestination/blendkernel.md)
- [blendsInDestinationColorSpace](coreimage/cirenderdestination/blendsindestinationcolorspace.md)
- [colorSpace](coreimage/cirenderdestination/colorspace.md)
- [width](coreimage/cirenderdestination/width.md)
- [height](coreimage/cirenderdestination/height.md)
- [isClamped](coreimage/cirenderdestination/isclamped.md)
- [isDithered](coreimage/cirenderdestination/isdithered.md)
- [isFlipped](coreimage/cirenderdestination/isflipped.md)

### Initializers

- [init(GLTexture:target:width:height:)](coreimage/cirenderdestination/init(gltexture:target:width:height:)-6dbtl.md)
- [init(IOSurface:)](coreimage/cirenderdestination/init(iosurface:)-5t5jd.md)
- [init(MTLTexture:commandBuffer:)](coreimage/cirenderdestination/init(mtltexture:commandbuffer:)-5iasd.md)

### Instance Properties

- [captureTraceURL](coreimage/cirenderdestination/capturetraceurl.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

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

## See Also

### Custom Render Destination

- [Generating an animation with a Core Image Render Destination](coreimage/generating-an-animation-with-a-core-image-render-destination.md)
- [CIRenderInfo](coreimage/cirenderinfo.md)
- [CIRenderTask](coreimage/cirendertask.md)
- [CIRenderDestinationAlphaMode](coreimage/cirenderdestinationalphamode.md)
