Kasper Peeters
Kasper Peeters

Reputation: 1620

Camera direct to OpenGL texture on iOS

On Android, it is possible to make the camera write its output directly to an OpenGL texture (of type GL_TEXTURE_EXTERNAL_OES), avoiding buffers on the CPU altogether.

Is such a thing possible on iOS?

Upvotes: 4

Views: 3478

Answers (1)

user1906
user1906

Reputation: 2340

The output you get from the camera in iOS is a CMSampleBufferRef, with a CVPixelBufferRef inside. (See documentation here). iOS from version 5 has CVOpenGLESTextureCache in the CoreVideo framework, which allows you to create an OpenGL ES texture using a CVPixelBufferRef, avoiding any copies.

Check the RosyWriter sample in Apple's developer website, it's all there.

Upvotes: 3

Related Questions