<!--
{
  "documentType" : "article",
  "framework" : "CoreVideo",
  "identifier" : "/documentation/CoreVideo/cvopenglbuffer-77s",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "CVOpenGLBuffer"
}
-->

# CVOpenGLBuffer

An image buffer used to store image data in video memory.

## Topics

### Functions

[`func CVOpenGLBufferCreate(CFAllocator?, Int, Int, CFDictionary?, UnsafeMutablePointer<CVOpenGLBuffer?>) -> CVReturn`](/documentation/CoreVideo/CVOpenGLBufferCreate(_:_:_:_:_:))

Creates a new Core Video OpenGL buffer that can be used for OpenGL rendering purposes

[`func CVOpenGLBufferAttach(CVOpenGLBuffer, CGLContextObj, GLenum, GLint, GLint) -> CVReturn`](/documentation/CoreVideo/CVOpenGLBufferAttach(_:_:_:_:_:))

Attaches an OpenGL context to a Core Video OpenGL buffer.

[`func CVOpenGLBufferGetAttributes(CVOpenGLBuffer) -> Unmanaged<CFDictionary>?`](/documentation/CoreVideo/CVOpenGLBufferGetAttributes(_:))

Obtains the attributes of a Core Video OpenGL buffer.

[`func CVOpenGLBufferGetTypeID() -> CFTypeID`](/documentation/CoreVideo/CVOpenGLBufferGetTypeID())

Obtains the Core Foundation type ID for the OpenGL buffer type.

[`extern CVOpenGLBufferRefCVOpenGLBufferRetain(CVOpenGLBufferRef buffer);`](/documentation/CoreVideo/CVOpenGLBufferRetain)

Retains a Core Video OpenGL buffer.

[`extern void CVOpenGLBufferRelease(CVOpenGLBufferRef buffer);`](/documentation/CoreVideo/CVOpenGLBufferRelease)

Releases a Core Video OpenGL buffer.

### Data Types

[`typealias CVOpenGLBuffer`](/documentation/CoreVideo/CVOpenGLBuffer)

A reference to a Core Video OpenGL buffer object.

### Constants

[`let kCVOpenGLBufferHeight: CFString`](/documentation/CoreVideo/kCVOpenGLBufferHeight)

The height of the buffer.

[`let kCVOpenGLBufferInternalFormat: CFString`](/documentation/CoreVideo/kCVOpenGLBufferInternalFormat)

The OpenGL internal format of this buffer.

[`let kCVOpenGLBufferMaximumMipmapLevel: CFString`](/documentation/CoreVideo/kCVOpenGLBufferMaximumMipmapLevel)

The maximum mipmap level for this buffer.

[`let kCVOpenGLBufferTarget: CFString`](/documentation/CoreVideo/kCVOpenGLBufferTarget)

The OpenGL target for this buffer.

[`let kCVOpenGLBufferWidth: CFString`](/documentation/CoreVideo/kCVOpenGLBufferWidth)

The width of the buffer.



---

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)