Tuesday 22 May 2012

Graphical API and How It's Used?

Graphical API's - OpenGL, OpenGL ES & DirectX

The types of graphical API's which are used today?

They're three types of graphics application programming interfaces which I will be looking at in terms of the creation of certain games and game physics when run and played. The three API's I will be looking at are; OpenGL, OpenGL ES & DirectX which are all used to create complex 3 dimensional & 2 dimensional shapes and objects for placement into a game. These API's allow graphical creation to be done with ease allowing graphical generation to be done simply and make the processing of creation more easy. It also allows the users to have a more dynamic and advanced approach to using such hardware to generate graphical images whether they are vector, raster, geon or polygonal the API's allow for a definitive approach to they're usage. These are also widely used in gaming to give a more realistic visualization to how the game looks, both close up and at distant allowing the creators of the graphics to get very high quality graphics created quick and easy.

OpenGL is a API which is widely used across many different types of graphical processing such as flight simulators, games development, virtual reality & scientific visualization. OpenGL allows for complex 3d & 2d shapes to be drawn from simple strands of code and or scripts, this means that large shapes & objects can be simply created with the use of basic scripting and then implemented into a game or game engine. OpenGL works by taking single points, lines and shapes and using them to create more complex shapes by creating them into pixels using a graphics pipeline. Once these shapes and objects have been created the programmer or creator then needs to clearly dictate the next steps for each stage of the objects rendering stage, clearing pointing out how it will look and what it will render as, unlike other API's the user needs to do all the rendering for certain objects. OpenGL has widely been helpful to creation and development of 3D accelerators allowing for more complex and graphically advanced shapes/objects to be implemented into games to give a more realistic and interesting look to a game.

OpenGL ES formally known as Open Graphics Library for Embedded Systems is the API which is used for devices such as mobile phones, PDA's, hand held devices and games consoles, where the functionality and features of OpenGL have been stripped and passed onto this embedded version of OpenGL. This version offers the same abilities and features as the original OpenGL however the graphic creation is for games on more embedded systems rather than open systems such as a PC or high-end platform media, game creation will be related around mobile phones and consoles. Although the graphics which are created for such systems are quite advanced they are many stages behind with them only being able to use the 2.0 version of OpenGL ES opposed to version 4.2 OpenGL for other systems, however the creation of both 2D and 3D shapes can still be done.

DirectX is another API which implements several of the Direct family such as the Direct3D, DirectMusic, DirectSound & DirectDraw, all now come under the name of DirectX and was the basis for the name Xbox when Microsoft created it. Under the use of DirectX it can be used to handle all of these interfaces or API's whilst running games and designing them, with most consoles and gaming platforms incorporating the use of Direct technology it means that games can run more advanced graphics in comparison to some systems in the past. DirectX handles all the multimedia tasks which occur when graphic and audio processing takes place, during runtime it will handle all the information and processing that is needed to ensure 3D and 2D graphics load correctly when scripted to do so. Since it's release in the Xbox, it has been widely updated to create a more advanced select of API's meaning that better shaders, shapes, objects and hardware can be used in future games.