Skip to main content
Erschienen in: Cluster Computing 1/2015

01.03.2015

Emulating OpenGL ES 2.0 over the desktop OpenGL

verfasst von: Nakhoon Baek, Kwan-Hee Yoo

Erschienen in: Cluster Computing | Ausgabe 1/2015

Einloggen

Aktivieren Sie unsere intelligente Suche um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

The OpenGL has been the de facto 3D graphics standard for more than 20 years. For the newly developed embedded devices including smart phones and tablet PC’s, the OpenGL ES (Embedded Systems) 2.0 is the most suitable and the most widely used 3D graphics standard at this time. Since the embedded devices have limited computing powers, programmers met difficulties in the developing OpenGL ES application programs on the embedded systems. They prefer more convenient programming environments of PC’s, and thus, we need emulation of the OpenGL ES 2.0 library on PC’s. We present our OpenGL ES 2.0 emulation approach, which works on the Linux-based desktop PC’s. Although OpenGL ES 2.0 was derived from the desktop OpenGL 2.1, the details of these two graphics standards are different and not mutually compatible. For example, OpenGL ES 2.0 additionally provides the new floating point representation of GLfixed, which consists of a sign bit, 15 bit integer and 16 bit fractional part. The framebuffer object features are also integrated into the core profile of OpenGL ES 2.0, while it was originally an optional extension of the desktop OpenGL. For the shader language supports, OpenGL ES Shader Language (ESSL) 1.0 is more enhanced in its completeness, compared to the original OpenGL Shader Language (GLSL). More specifically, some confusing variable names are fixed, stricter syntax and semantics checks are introduced, and some built-in constants are strengthened to support more enhanced hardware. Thus, we need a more exact and detailed shader language processor. We finally make an ESSL-to-GLSL translator with stricter error check features. Our design focuses can be classified into six categories: function interface design, fixed-point data type support, core pipeline support, shader language support, framebuffer support, and extensions support. We provide totally 11 OpenGL ES extensions, which was selected for their important functionalities. Our final implementation result satisfies 97 % of official conformance tests, and also fully tested with commercial benchmark programs. Its execution speeds are equivalently fast enough in comparison with one of the widely-used commercial OpenGL ES 2.0 emulators. Using our result, programmers can develop OpenGL ES 2.0 programs on their desktop PC’s, and simply convert them into final smart phone graphics applications. Our methods can also be applied to other graphics standards such as OpenGL SC and WebGL.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
4.
Zurück zum Zitat ARM: Fixed Point Arithmetic on the ARM, Application Note 33. ARM (1996) ARM: Fixed Point Arithmetic on the ARM, Application Note 33. ARM (1996)
5.
Zurück zum Zitat Babin, S.: Developing Software for Symbian OS 2nd Edition: A Beginner’s Guide to Creating Symbian OS v9 Smartphone Applications in C++. Wiley, London (2007) Babin, S.: Developing Software for Symbian OS 2nd Edition: A Beginner’s Guide to Creating Symbian OS v9 Smartphone Applications in C++. Wiley, London (2007)
7.
Zurück zum Zitat Barris, R., Koch, D.: \(\text{ ARB }\_\text{ framebuffer }\_\text{ object }\) (ARB Extention #45). OpenGL Architecture Review Board (2008) Barris, R., Koch, D.: \(\text{ ARB }\_\text{ framebuffer }\_\text{ object }\) (ARB Extention #45). OpenGL Architecture Review Board (2008)
8.
Zurück zum Zitat Blythe, D.: \(\text{ OES }\_\text{ fixed }\_\text{ point }\) (OpenGL ES Extention #9). Khronos Group (2004) Blythe, D.: \(\text{ OES }\_\text{ fixed }\_\text{ point }\) (OpenGL ES Extention #9). Khronos Group (2004)
9.
Zurück zum Zitat Blythe, D.: \(\text{ OES }\_\text{ single }\_\text{ precision }\) (OpenGL ES Extention #18). Khronos Group (2004) Blythe, D.: \(\text{ OES }\_\text{ single }\_\text{ precision }\) (OpenGL ES Extention #18). Khronos Group (2004)
10.
Zurück zum Zitat Blythe, D.: \(\text{ OES }\_\text{ stencil }\_\text{ wrap }\) (OpenGL ES Extention #19). Khronos Group (2004) Blythe, D.: \(\text{ OES }\_\text{ stencil }\_\text{ wrap }\) (OpenGL ES Extention #19). Khronos Group (2004)
12.
Zurück zum Zitat Hammerstone, R., Craighead, M., Akeley, K.: ARB_vertex_ buffer_object (ARB Extention #28). OpenGL Architecture Review Board (2003) Hammerstone, R., Craighead, M., Akeley, K.: ARB_vertex_ buffer_object (ARB Extention #28). OpenGL Architecture Review Board (2003)
15.
16.
Zurück zum Zitat ISO/IEC 9899: Programming Languages—C. International Standard Organization (1998) ISO/IEC 9899: Programming Languages—C. International Standard Organization (1998)
17.
Zurück zum Zitat Johnson, S.C.: Yacc: Yet another compiler. Computing Science Technical Report No. 32 (1975) Johnson, S.C.: Yacc: Yet another compiler. Computing Science Technical Report No. 32 (1975)
18.
Zurück zum Zitat Kessenich, J.: The OpenGL Shading Language, Language Version: 1.20. Khronos, Group (2006) Kessenich, J.: The OpenGL Shading Language, Language Version: 1.20. Khronos, Group (2006)
23.
Zurück zum Zitat Lee, H., Yoon, J., Baek, N.: An efficient graphics framework using embedded hardware for avionics applications. Proc. ISET 40, (2013) Lee, H., Yoon, J., Baek, N.: An efficient graphics framework using embedded hardware for avionics applications. Proc. ISET 40, (2013)
24.
25.
Zurück zum Zitat Lesk, M.E., Schmidt, E.: Lex: A lexical analyzer generator. Computing Science Technical Report No. 39 (1975) Lesk, M.E., Schmidt, E.: Lex: A lexical analyzer generator. Computing Science Technical Report No. 39 (1975)
26.
Zurück zum Zitat Lipchak, B.: \(\text{ OES }\_\text{ packed }\_\text{ depth }\_\text{ stencil }\) (OpenGL ES Extention #44). Khronos Group (2008) Lipchak, B.: \(\text{ OES }\_\text{ packed }\_\text{ depth }\_\text{ stencil }\) (OpenGL ES Extention #44). Khronos Group (2008)
27.
Zurück zum Zitat Lipchak, B.: \(\text{ OES }\_\text{ blend }\_\text{ func }\_\text{ separate }\) (OpenGL ES Extention #2). Khronos Group (2009) Lipchak, B.: \(\text{ OES }\_\text{ blend }\_\text{ func }\_\text{ separate }\) (OpenGL ES Extention #2). Khronos Group (2009)
28.
Zurück zum Zitat Lipchak, B.: \(\text{ OES }\_\text{ blend }\_\text{ subtract }\) (OpenGL ES Extention #3). Khronos Group (2009) Lipchak, B.: \(\text{ OES }\_\text{ blend }\_\text{ subtract }\) (OpenGL ES Extention #3). Khronos Group (2009)
29.
Zurück zum Zitat Lipchak, B.: OpenGL ES version 3.0. Khronos, Group (2012) Lipchak, B.: OpenGL ES version 3.0. Khronos, Group (2012)
30.
Zurück zum Zitat Malizia, A.: Mobile 3D Graphics. Springer, Secaucus, NJ (2006) Malizia, A.: Mobile 3D Graphics. Springer, Secaucus, NJ (2006)
31.
Zurück zum Zitat Marrin, C.: WebGL Specification, Draft 16. Khronos Group (2012) Marrin, C.: WebGL Specification, Draft 16. Khronos Group (2012)
32.
Zurück zum Zitat Merry, B.:\(\text{ OES }\_\text{ texture }\_\text{ npot }\) (OpenGL ES Extention #37). Khronos Group (2005) Merry, B.:\(\text{ OES }\_\text{ texture }\_\text{ npot }\) (OpenGL ES Extention #37). Khronos Group (2005)
33.
Zurück zum Zitat Munshi, A.: \(\text{ OES }\_\text{ element }\_\text{ index }\_\text{ uint }\) (OpenGL ES Extention #26). Khronos Group (2005) Munshi, A.: \(\text{ OES }\_\text{ element }\_\text{ index }\_\text{ uint }\) (OpenGL ES Extention #26). Khronos Group (2005)
34.
Zurück zum Zitat Munshi, A.: \(\text{ OES }\_\text{ rgb8 }\_\text{ rgba8 }\) (OpenGL ES Extention #30). Khronos Group (2005) Munshi, A.: \(\text{ OES }\_\text{ rgb8 }\_\text{ rgba8 }\) (OpenGL ES Extention #30). Khronos Group (2005)
35.
Zurück zum Zitat Munshi, A.: \(\text{ OES }\_\text{ texture }\_\text{3D }\) (OpenGL ES Extention #34). Khronos Group (2005) Munshi, A.: \(\text{ OES }\_\text{ texture }\_\text{3D }\) (OpenGL ES Extention #34). Khronos Group (2005)
36.
Zurück zum Zitat Munshi, A.: \(\text{ OES }\_\text{ texture }\_\text{ mirrored }\_\text{ repeat }\) (OpenGL ES Extention #22). Khronos Group (2005) Munshi, A.: \(\text{ OES }\_\text{ texture }\_\text{ mirrored }\_\text{ repeat }\) (OpenGL ES Extention #22). Khronos Group (2005)
37.
Zurück zum Zitat Munshi, A.: OpenGL ES 1.1 Extension Pack Specification, Version 1.03. Khronos, Group (2005) Munshi, A.: OpenGL ES 1.1 Extension Pack Specification, Version 1.03. Khronos, Group (2005)
38.
Zurück zum Zitat Munshi, A.: OpenGL ES Common Profile Specification, version 2.0.24 (Full Specification). Khronos, Group (2009) Munshi, A.: OpenGL ES Common Profile Specification, version 2.0.24 (Full Specification). Khronos, Group (2009)
39.
Zurück zum Zitat Munshi, A., Leech, J.: OpenGL ES Common/Common-Lite Profile Specification, version 1.1.12 (Full Specification). Khronos, Group (2008) Munshi, A., Leech, J.: OpenGL ES Common/Common-Lite Profile Specification, version 1.1.12 (Full Specification). Khronos, Group (2008)
40.
41.
Zurück zum Zitat Pulli, K., Vaarala, J., Miettinen, V., Aarnio, T., Roimela, K.: Mobile 3D Graphics: With OpenGL ES and M3G. Morgan Kaufmann Publishers Inc., San Francisco, CA (2007) Pulli, K., Vaarala, J., Miettinen, V., Aarnio, T., Roimela, K.: Mobile 3D Graphics: With OpenGL ES and M3G. Morgan Kaufmann Publishers Inc., San Francisco, CA (2007)
43.
Zurück zum Zitat Segal, M., Akeley, K.: The OpenGL Graphics System: A Specification, Version 1.3. Khronos, Group (2001) Segal, M., Akeley, K.: The OpenGL Graphics System: A Specification, Version 1.3. Khronos, Group (2001)
44.
Zurück zum Zitat Segal, M., Akeley, K.: The OpenGL Graphics System: A Specification, Version 2.1. Khronos, Group (2006) Segal, M., Akeley, K.: The OpenGL Graphics System: A Specification, Version 2.1. Khronos, Group (2006)
45.
Zurück zum Zitat Segal, M., Akeley, K.: The OpenGL Graphics System: A Specification, Version 4.4 (Core Profile). Khronos, Group (2013) Segal, M., Akeley, K.: The OpenGL Graphics System: A Specification, Version 4.4 (Core Profile). Khronos, Group (2013)
46.
Zurück zum Zitat Simpson, R.J.: The OpenGL ES Shading Language, Language Version: 1.00. Khronos, Group (2008) Simpson, R.J.: The OpenGL ES Shading Language, Language Version: 1.00. Khronos, Group (2008)
47.
Zurück zum Zitat Stockwell, B.: OpenGL SC: Safety-Critical Profile Specification, version 1.0.1 (difference specification). Khronos, Group (2009) Stockwell, B.: OpenGL SC: Safety-Critical Profile Specification, version 1.0.1 (difference specification). Khronos, Group (2009)
48.
Zurück zum Zitat Topcuoglu, H., Hariri, S., Kim, D., Kim, Y., Bing, X., Ye, B., Ra, I., Valente, J.: The design and evaluation of a virtual distributed computing environment. Clust. Comput. 1(1), 81–93 (1998). doi:10.1023/A:1019069012307 CrossRef Topcuoglu, H., Hariri, S., Kim, D., Kim, Y., Bing, X., Ye, B., Ra, I., Valente, J.: The design and evaluation of a virtual distributed computing environment. Clust. Comput. 1(1), 81–93 (1998). doi:10.​1023/​A:​1019069012307 CrossRef
49.
Zurück zum Zitat W3C Consortium: Mobile SVG Profiles: SVG Tiny and SVG Basic. W3C (2009) W3C Consortium: Mobile SVG Profiles: SVG Tiny and SVG Basic. W3C (2009)
50.
Zurück zum Zitat W3C Consortium: Scalable Vector Graphics (SVG) 1.1, 2nd ed. edn. (working draft) (2010) W3C Consortium: Scalable Vector Graphics (SVG) 1.1, 2nd ed. edn. (working draft) (2010)
Metadaten
Titel
Emulating OpenGL ES 2.0 over the desktop OpenGL
verfasst von
Nakhoon Baek
Kwan-Hee Yoo
Publikationsdatum
01.03.2015
Verlag
Springer US
Erschienen in
Cluster Computing / Ausgabe 1/2015
Print ISSN: 1386-7857
Elektronische ISSN: 1573-7543
DOI
https://doi.org/10.1007/s10586-014-0351-6

Weitere Artikel der Ausgabe 1/2015

Cluster Computing 1/2015 Zur Ausgabe