Introduction to OpenVG for embedded 2D graphics applications

Hugo Osornio, Luis Olea, and Ioseph Martinez, Freescale Semiconductor
embedded.com (March 27, 2013)


OpenVG is an API designed for hardware-accelerated 2D vector graphics. It was designed to help manufacturers create more attractive user interfaces by offloading computationally intensive graphics processing from the CPU onto a GPU to save energy. It is being used across many platforms, including a number of embedded applications. In this article we will describe the basic capabilities of the OpenVG spec and how to use it in automotive infotainment and instrument display applications.

OpenVG handles two main parent objects:

  • Bitmap: a memory organization used to store/draw an image. Every x and y coordinate will have a corresponding pixel. Each pixel is assigned an alpha, red, green and blue (ARGB) value, thus a 200 x 200 resolution image will require (200*200*(color depth)) bytes of storage. Bitmaps are particularly useful for photorealistic graphics. The coverflow application depicted in the Use Cases section contains image handling code and functions.
  • Vector: a mathematical formula that requires start and end points. Depending on how those points are connected, other parameters may be required, such as curve control points, arc radiuses, and arc angles. This feature makes a vector fully scalable, as it does not rely on per-pixel data to represent an image.

Click here to read more ...

×
Semiconductor IP