Class

GLKView

A default implementation for views that draw their content using OpenGL ES.

Declaration

@interface GLKView : UIView

Overview

The GLKView class simplifies the effort required to create an OpenGL ES application by directly managing a framebuffer object on your behalf; your application simply needs to draw into the framebuffer when the contents need to be updated.

To use this class in your application, create a new GLKView object and provide it an OpenGL ES context. Then, modify the view’s drawableColorFormat, drawableDepthFormat, drawableStencilFormat, and drawableMultisample properties to configure the format of the drawable’s framebuffer object. After this, the view automatically creates or updates the framebuffer object whenever the view must be redrawn. A GLKView object uses the regular view drawing cycle for a UIView object, calling its drawRect: method whenever the contents of the view need to be updated. Before calling its drawRect: method, the view makes its EAGLContext object the current OpenGL ES context and binds its framebuffer object to the OpenGL ES context as the target for rendering commands. Your application’s implementation of the drawRect: method should call one or more OpenGL ES functions to render an image into the framebuffer object. Then, the view resolves any multisampling that you may have enabled and delivers the finished results.

The GLKView class can be used in conjunction with a GLKViewController object to create an animation rendering loop that redraws the contents of the view at a specified frame rate.

Subclassing Notes

Typically, there is no need to subclass the GLKView class. Instead, provide a delegate object to draw the view’s contents. See GLKViewDelegate.

Topics

Initializing the View

- initWithFrame:context:

Initializes a new view.

Delegate

delegate

The view’s delegate.

Configuring the Framebuffer Object

drawableColorFormat

The format of the color renderbuffer.

drawableDepthFormat

The format of the depth renderbuffer

drawableStencilFormat

The format of the stencil renderbuffer.

drawableMultisample

The format of the multisampling buffer.

Read-only Framebuffer Properties

drawableHeight

The height, in pixels, of the underlying framebuffer object.

drawableWidth

The width, in pixels, of the underlying framebuffer object.

Drawing Your View’s Contents

context

The OpenGL ES context used when drawing the view’s contents.

- bindDrawable

Binds the underlying framebuffer object to OpenGL ES.

enableSetNeedsDisplay

A Boolean value that indicates whether the view responds to messages that invalidate the view’s contents.

- display

Redraws the view’s contents immediately.

snapshot

Draws the contents of the view and returns them as a new image object.

Deleting the View’s Underlying Framebuffer Object

- deleteDrawable

Deletes the drawable object associated with the view.

Constants

GLKViewDrawableColorFormat

The format of the color renderbuffer.

GLKViewDrawableDepthFormat

The format of the depth renderbuffer.

GLKViewDrawableStencilFormat

The format of the stencil renderbuffer.

GLKViewDrawableMultisample

The format of the multisampling buffer.

Relationships

Inherits From

Conforms To

See Also

OpenGL ES View Rendering

GLKViewDelegate

Drawing callback methods for use with a GLKView object.

GLKViewController

A view controller that manages an OpenGL ES rendering loop.

Deprecated
GLKViewControllerDelegate

Rendering loop callback methods for use with a GLKViewController object.