---
title: CARenderer
framework: quartzcore
role: symbol
role_heading: Class
path: quartzcore/carenderer
---

# CARenderer

A layer that allows an application to render a layer tree into a Core OpenGL context.

## Declaration

```swift
class CARenderer
```

## Overview

Overview For real-time output you should use an instance of NSView to host the layer-tree.

## Topics

### Creating a Renderer

- [init(cglContext:options:)](quartzcore/carenderer/init(cglcontext:options:)-1l3m2.md)
- [init(mtlTexture:options:)](quartzcore/carenderer/init(mtltexture:options:)-1cr0b.md)

### Getting the Rendered Layer

- [layer](quartzcore/carenderer/layer.md)

### Determining Layer Bounds

- [bounds](quartzcore/carenderer/bounds.md)

### Rendering a Frame

- [beginFrame(atTime:timeStamp:)](quartzcore/carenderer/beginframe(attime:timestamp:).md)
- [updateBounds()](quartzcore/carenderer/updatebounds().md)
- [addUpdate(_:)](quartzcore/carenderer/addupdate(_:).md)
- [render()](quartzcore/carenderer/render().md)
- [nextFrameTime()](quartzcore/carenderer/nextframetime().md)
- [endFrame()](quartzcore/carenderer/endframe().md)

### Instance Methods

- [setDestination(_:)](quartzcore/carenderer/setdestination(_:).md)

### Initializers

- [init(CGLContext:options:)](quartzcore/carenderer/init(cglcontext:options:)-6ywk8.md)
- [init(MTLTexture:options:)](quartzcore/carenderer/init(mtltexture:options:)-51l7q.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

### Metal and OpenGL

- [CAMetalLayer](quartzcore/cametallayer.md)
- [CAMetalDrawable](quartzcore/cametaldrawable.md)
- [CAEAGLLayer](quartzcore/caeagllayer.md)
- [CAEDRMetadata](quartzcore/caedrmetadata.md)
- [CAOpenGLLayer](quartzcore/caopengllayer.md)
