GLKit provides helper utilities that simplify OpenGL ES development on iOS, macOS, and tvOS, covering vector and matrix math, texture loading, rendering effects, and view management. You build and animate scenes with value types such as _GLKVector3, _GLKMatrix4, and _GLKQuaternion, manage transforms through GLKMatrixStack, and load image data into GPU textures with GLKTextureLoader and GLKTextureInfo. Configurable lighting, materials, fog, and transforms are expressed through GLKBaseEffect and effect properties like GLKEffectPropertyLight and GLKEffectPropertyMaterial, while GLKView and GLKViewController handle drawable surface setup and the render loop. GLKit is deprecated in favor of Metal.
Views and View Controllers 4
Configure a drawable OpenGL ES surface and drive its render and update loop.
- ClGLKViewA view that manages an OpenGL ES drawable surface and renders its contents.
- ClGLKViewControllerA view controller that drives the animation and render loop for a GLKView.
- PrGLKViewDelegateA protocol that defines the drawing method a GLKView calls to render its contents.
- PrGLKViewControllerDelegateA protocol that defines the update and frame callbacks a GLKViewController sends each cycle.
Rendering Effects 4
Apply standard lighting, materials, fog, reflection, and skybox shading without writing shaders.
- ClGLKBaseEffectAn object that provides standard OpenGL ES lighting, material, texture, and transform shading without custom shaders.
- ClGLKReflectionMapEffectAn effect that adds cube-map reflection shading on top of standard lighting and texturing.
- ClGLKSkyboxEffectAn effect that renders a cube-mapped skybox surrounding a scene.
- PrGLKNamedEffectA protocol adopted by effects that can prepare and bind their OpenGL ES rendering state.
Effect Properties 6
Describe the lighting, material, texture, fog, and transform state used by an effect.
- ClGLKEffectPropertyAn abstract base class for objects that describe a configurable aspect of a GLKit effect.
- ClGLKEffectPropertyLightAn object that configures a light source used by an effect's lighting computation.
- ClGLKEffectPropertyMaterialAn object that defines the surface material properties an effect uses when shading geometry.
- ClGLKEffectPropertyTextureAn object that configures a texture unit and its environment mode for an effect.
- ClGLKEffectPropertyFogAn object that configures the fog parameters applied by an effect.
- ClGLKEffectPropertyTransformAn object that holds the model-view and projection transforms an effect applies to vertices.
Textures 7
Load image data into OpenGL ES textures and inspect the resulting texture details.
- ClGLKTextureLoaderAn object that loads image data into OpenGL ES textures, synchronously or asynchronously.
- ClGLKTextureInfoAn object that describes an OpenGL ES texture produced by the texture loader.
- StGLKTextureLoaderErrorA structure that describes an error produced while loading a texture.
- EnGLKTextureTargetConstants that identify the OpenGL ES texture target a loaded texture binds to.
- EnGLKTextureEnvModeConstants that specify how a texture combines with existing fragment color.
- EnGLKTextureInfoAlphaStateConstants that describe the alpha state of a loaded texture's pixel data.
- EnGLKTextureInfoOriginConstants that indicate the vertical origin of a loaded texture's image data.
Meshes and Buffers 4
Represent model geometry and allocate the vertex and index buffers that back it.
- ClGLKMeshAn object that represents model geometry along with its vertex and submesh buffers.
- ClGLKSubmeshAn object that represents a portion of a mesh sharing the same material and index buffer.
- ClGLKMeshBuffer@class GLKMeshBuffer
- ClGLKMeshBufferAllocator@class GLKMeshBufferAllocator
Vectors and Matrices 8
Value types for the vector, matrix, and quaternion math used to build and animate scenes.
- St_GLKVector2A two-component vector value type for points, directions, and texture coordinates.
- St_GLKVector3A three-component vector value type for positions, normals, and directions.
- St_GLKVector4A four-component vector value type for homogeneous coordinates and colors.
- St_GLKMatrix2A 2x2 matrix value type used for two-dimensional linear transforms.
- St_GLKMatrix3A 3x3 matrix value type used for rotation and normal transforms.
- St_GLKMatrix4A 4x4 matrix value type used for model-view and projection transforms.
- St_GLKQuaternionA quaternion value type that represents rotations in three dimensions.
- ClGLKMatrixStackAn object that manages a stack of transform matrices for building hierarchical model-view transforms.
Vertex Attributes 2
Identify and describe the vertex attributes consumed by GLKit effects.
- EnGLKVertexAttribConstants that identify the vertex attributes a GLKit effect can consume.
- St_GLKVertexAttributeParameters@struct GLKVertexAttributeParameters
Lighting and Fog Options 2
Constants that select the lighting model and fog computation an effect uses.
- EnGLKLightingTypeConstants that specify whether lighting is computed per vertex or per fragment.
- EnGLKFogModeConstants that specify how an effect computes fog density over distance.
Drawable Surface Formats 4
Constants that specify the color, depth, stencil, and multisampling formats of a view's drawable.
- EnGLKViewDrawableColorFormatConstants that specify the color buffer format of a view's drawable surface.
- EnGLKViewDrawableDepthFormatConstants that specify the depth buffer format of a view's drawable surface.
- EnGLKViewDrawableStencilFormatConstants that specify the stencil buffer format of a view's drawable surface.
- EnGLKViewDrawableMultisampleConstants that specify the multisampling configuration of a view's drawable surface.
Type Aliases 10
- TyGLKEffectPropertyPrvPtr
- TyGLKMatrix2
- TyGLKMatrix3
- TyGLKMatrix4
- TyGLKVector2
- TyGLKVector3
- TyGLKVector4
- TyGLKQuaternion
- TyGLKVertexAttributeParameters
- TyGLKTextureLoaderCallback