O'Reilly logo

OpenGL Insights by Christophe Riccio, Patrick Cozzi

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

OpenGL SC Emulation Based on
OpenGL and OpenGL ES
Hwanyong Lee and Nakhoon Baek
8.1 Introduction
OpenGL is one of the most widely used 3D graphics APIs. It originated from
IRIS GL in the 1980s and is now available on various platforms. Currently, Khronos
Group, the open standard consortium, consistently manages all the standard speci-
fications for the OpenGL family, including OpenGL, OpenGL ES (for embedded
systems), OpenGL SC (safety critical profile), and WebGL.
At this time, the latest version for desktops and workstations is OpenGL 4.2,
which was released in August 2011. On embedded systems and handheld devices,
OpenGL ES 1.1 and 2.0 are widely used. These embedded versions are smashingly
successful, especially for smart phones and tablet PCs.
Another sibling in the OpenGL family is OpenGL SC, the safety-critical pro-
file [Stockwell 09] derived from OpenGL ES. Historically, this safety-critical profile
was started as a subset of OpenGL ES to minimize implementation and safety certi-
fication costs, mainly for the DO-178B requirements [RTCA/DO-178B 92]. How-
ever, due to the different targets and requirements, OpenGL SC became another
independent specification. Currently, OpenGL SC and OpenGL ES are not com-
patible with each other despite some common features. Figure 8.1 shows OpenGL
SC-based cockpit displays.
In safety-critical markets for avionics, industrial, military, medical, and automo-
tive applications, OpenGL SC plays a major role for the graphical interfaces and ap-
plications. The need for this 3D graphics API is rapidly increasing with the growth
of the safety-critical market. For medical and automotive applications, consumer
electronics markets are starting to strongly ask for this standard.
121
8
122 IDiscovering
Figure 8.1. OpenGL SC-based cockpit displays. Image courtesy of ESTEREL Technology Inc.
We naturally need a cost-effective way of implementing OpenGL SC, based
on commercial off-the-shelf items [Cole 05, Snyder 05, Beeby 02]. We have a few
OpenGL SC implementations at this time, some of which provide fully dedicated
OpenGL SC semiconductor chips or exclusive device drivers on existing OpenGL
chips. These solutions require a large amount of development cost. Though some
full software solutions are also available, their per formance is not satisfying for many
applications.
Implementation of a graphics library over another existing graphics pipeline has
advantages such as cost-effectiveness and portability. For OpenGL ES, we have an
example of OpenGL ES 1.1 implementation over OpenGL ES 2.0, where the ES
2.0 pipeline was modified to fully support ES 1.1 features [Hill et al. 08]. OpenGL
ES 1.1 emulation over desktop OpenGL is also available [Lee and Baek 09, Baek
and Lee 12]. To support WebGL features on Windows PCs, an OpenGL ES 2.0
emulation on the top of Direct3D 9 was developed as discussed in Chapter 39.
In this chapter, an OpenGL SC emulation library is implemented based on
the OpenGL 1.1 fixed rendering pipeline and the ARB
multitexture extension
[Leech 99], which may be one of the lowest-end hardware profiles for embedded 3D
graphics systems. We also demonstrate emulating OpenGL SC on OpenGL ES hard-
ware. Finally, our OpenGL SC emulation can b e used for desktop-based OpenGL SC
development. One of the most widely used graphics devices on low-end embedded
systems is OpenGL ES 1.1, which is based on OpenGL 1.3, and is mainly used
because of its stability, cost-effectiveness, and small footprint.
This kind of implementation is strongly required for the following reasons:
Cost-effectiveness. Although we could develop the whole OpenGL S C fa-
cilities from scratch, there are already hardware devices and their correspond-
ing drivers with OpenGL or OpenGL ES support. Our goal is to provide
additional OpenGL SC support at a relatively low cost by utilizing these exist-
ing hardware devices.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required