6.3.6 Use software
Software pipelines are a parallel processing technique that enable multiple data elements to be processed simultaneously by breaking the computation into a series of sequential stages.
Pipelines are common in both hardware and software. For example,
application processors and GPUs use hardware pipelines. The graphics
standard OpenGL ES is based on a virtual pipeline.
In a pipeline, a complete process is divided into a series
of stages. A data element is processed in one stage and the results
are then passed to the next stage.
Because of the sequential nature of a pipeline, only one stage
is used at a time by a particular data element. This means that
the other stages can process other data elements.
You can use software pipelines in your application to process
different data elements.
For example, a game requires many different operations to
happen. A game might use a similar pipeline to this:
- The input is read
from the player.
- The game logic computes the progress of the game.
- The scene objects are moved based on the results
of the game logic.
- The physics engine computes positions of all objects
in the scene.
- The game uses OpenGL ES to draw objects on the screen.