# C API Reference for Cardboard SDK

# C API Reference for Cardboard SDK

C API reference pages for the Cardboard SDK.

| ## Modules ||
|---|---|
| [Cardboard SDK types](https://developers.google.com/cardboard/reference/c/group/types) | Various types used in the Cardboard SDK. |
| [Initialization (Android only)](https://developers.google.com/cardboard/reference/c/group/initialization) | This module initializes the JavaVM and Android context. |
| [Lens Distortion](https://developers.google.com/cardboard/reference/c/group/lens-distortion) | This module calculates the projection and eyes distortion matrices, based on the device (Cardboard viewer) and screen parameters. |
| [Distortion Renderer](https://developers.google.com/cardboard/reference/c/group/distortion-renderer) | This module renders the eyes textures into the display. |
| [Head Tracker](https://developers.google.com/cardboard/reference/c/group/head-tracker) | This module calculates the predicted head's pose for a given timestamp. |
| [QR Code Scanner](https://developers.google.com/cardboard/reference/c/group/qrcode-scanner) | This module manages the entire process of capturing, decoding and getting the device parameters from a QR code. |

| ## Structs ||
|---|---|
| [CardboardEyeTextureDescription](https://developers.google.com/cardboard/reference/c/struct/cardboard-eye-texture-description) | Struct to hold information about an eye texture. |
| [CardboardMesh](https://developers.google.com/cardboard/reference/c/struct/cardboard-mesh) | Struct representing a 3D mesh with 3D vertices and corresponding UV coordinates. |
| [CardboardMetalDistortionRendererConfig](https://developers.google.com/cardboard/reference/c/struct/cardboard-metal-distortion-renderer-config) | Struct to set Metal distortion renderer configuration. |
| [CardboardMetalDistortionRendererTargetConfig](https://developers.google.com/cardboard/reference/c/struct/cardboard-metal-distortion-renderer-target-config) | Struct to set Metal distortion renderer target configuration. |
| [CardboardOpenGlEsDistortionRendererConfig](https://developers.google.com/cardboard/reference/c/struct/cardboard-open-gl-es-distortion-renderer-config) | Struct to set OpenGL ES distortion renderer configuration. |
| [CardboardUv](https://developers.google.com/cardboard/reference/c/struct/cardboard-uv) | Struct to hold UV coordinates. |
| [CardboardVulkanDistortionRendererConfig](https://developers.google.com/cardboard/reference/c/struct/cardboard-vulkan-distortion-renderer-config) | Struct to set Vulkan distortion renderer configuration. |
| [CardboardVulkanDistortionRendererTarget](https://developers.google.com/cardboard/reference/c/struct/cardboard-vulkan-distortion-renderer-target) | Struct to set Vulkan distortion renderer target. |