Mac Developer Library

Developer

GLKit Framework Reference

Introduction to GLKit

Classes   Protocols   Other Reference  

The GLKit framework provides functions and classes that reduce the effort required to create new shader-based apps or to port existing apps that rely on fixed-function vertex or fragment processing provided by earlier versions of OpenGL ES or OpenGL.

GLKit Features

GLKit provides functionality in four key areas:

  • Texture loading allows your app to easily load textures from a variety of sources. Textures can even be loaded asynchronously in the background with just a few lines of code. For more information, see GLKTextureLoader Class Reference.

  • Math libraries provide commonly used vector, quaternion and matrix operations. These implementations are optimized to provide great performance.

  • Effects provide standard implementations of common shader effects. You configure the effect and the associated vertex data; the effect creates and loads an appropriate shader. GLKit includes three effects: The GLKBaseEffect class implements a critical subset of the OpenGL ES 1.1 shading and lighting model, the GLKReflectionMapEffect class extends the base effect to include reflection mapping support, and the GLKSkyboxEffect class provides an implementation of a skybox effect.

  • Views and View Controllers provide a standard implementation of an OpenGL ES view and a corresponding view controller. This reduces the amount of code needed to create an iOS app that use OpenGL ES. For more information, see GLKView Class Reference and GLKViewController Class Reference.

On iOS, GLKit requires an OpenGL ES 2.0 context. On OS X, GLKit requires an OpenGL context that supports the OpenGL 3.2 Core Profile.

Classes

Class

Abstract

NSObject

NSObject is the root class of most Objective-C class hierarchies.

GLKBaseEffect

The GLKBaseEffect class provides shaders that mimic many of the behaviors provided by the OpenGL ES 1.

GLKReflectionMapEffect

The GLKReflectionMapEffect class extends the base effect to add an additional texturing stage that performs reflection mapping.

GLKEffectProperty

The GLKEffectProperty class is an abstract class for classes that represent specific kinds of configuration information for a graphics effect.

GLKEffectPropertyFog

The GLKEffectPropertyFog class defines properties used to configure how fog is applied to an effect.

GLKEffectPropertyLight

The GLKEffectPropertyLight class defines properties for a single light applied to an effect.

GLKEffectPropertyMaterial

The GLKEffectPropertyMaterial class defines properties used to configure the characteristics of the surface being lit.

GLKEffectPropertyTexture

The GLKEffectPropertyTexture class defines properties that are used to configure an OpenGL texturing operation.

GLKEffectPropertyTransform

The GLKEffectPropertyTransform class defines properties that provide the coordinate transformations to be performed when rendering the effect.

GLKSkyboxEffect

The GLKSkyboxEffect provides a standard skybox effect for your application.

GLKTextureInfo

When your app loads textures using the GLKTextureLoader class, the texture loader returns information about the textures using GLKTextureInfo objects.

GLKTextureLoader

The GLKTextureLoader class simplifies the effort required to load your texture data.

Protocols

Protocol

Abstract

GLKNamedEffect

Objects that implement the GLKNamedEffect protocol provide rendering support to shader-based apps.

Other Reference

Reference

GLKMatrix3 Reference

GLKMatrix4 Reference

GLKVector2 Reference

GLKVector3 Reference

GLKVector4 Reference

GLKQuaternion Reference

GLKMatrixStack Reference

GLKit Math Utilities

GLKit Effects Constants Reference