Glossary

Application Programming Interface (API)

What is an API?

An application programming interface (API) is a software link between two or more computer programs enabling them to communicate with each other. It enables applications to exchange data and functionality safely, easily, and securely.

A graphics API is a collection of commands that enable the application to use the hardware functions of the graphics processing unit (GPU). Higher-level APIs, such as OpenGL® and DirectX 11® are easier to work with, but lower-level APIs, such as Vulkan® and DirectX 12® require more knowledge and work for the developer but can deliver more application performance.

SDK and API: What’s the difference?

SDKs and APIs are similar, so it can sometimes be difficult to know when you should use one or the other. Another detail that can be confusing is that SDKs often contain one or more APIs and help implement them. However, an API won’t necessarily have an accompanying SDK.

An API is purpose-built to perform a specific function between applications, and an SDK is a platform that contains the tools to create the application. Essentially, an API facilitates and allows interaction between applications but not enough to create a whole new app. This means that if you are looking to add specific features to an existing application, an API would be best. Whereas if you are starting a new project altogether, an SDK will provide you with the tools you’ll need to get started.

Imagination and APIs

At Imagination, we work with different types of APIs. Below, is some more information on our most commonly used APIs:

OpenGL

OpenGL is an API for rendering 2D and 3D vector graphics. It’s cross-platform and cross-language. It is used to interact with the GPU to perform hardware-accelerated operations. OpenGL is used in a variety of fields, ranging from video games to information visualisation to virtual reality. OpenGLES (OpenGL Embedded Systems) is a variant of OpenGL used for smaller systems, usually with limited hardware capabilities, like mobile phones and automotive dashboards. OpenGL and its variants are developed and maintained by the non-profit technology consortium Khronos Group.

Vulkan

Vulkan is a low-level API for 3D graphics and computing. It’s cross platform and an open standard. Vulkan is considered the successor of OpenGL. Vulkan is used to develop high-performance 3D graphics (i.e., video games). It is designed with high performance in mind, providing better control of the hardware and efficient use of the CPU and GPU compared to older APIs like OpenGL. Vulkan is developed and maintained by the non-profit technology consortium Khronos Group.