Skip to main content
Log in

OpenGL ES 1.1 implementation based on OpenGL

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

In this paper, we present an efficient way of implementing OpenGL ES 1.1 3D graphics API library for the environments with hardware-supported OpenGL facility, typically as desktop PCs. Although OpenGL ES was started from the existing OpenGL features, it rapidly became the standard 3D graphics library customized for embedded systems through introducing fixed-point arithmetic operations, buffer management with fixed-point data type supports, completely new texture mapping functions and others. Currently, it is the official 3D graphics API for Google Android, Apple iPhone, Sony PlayStation3, etc. In this paper, we achieved improvements on the arithmetic operations for the fixed-point number representation, which is the most characteristic data type for OpenGL ES 1.1. For the conversion of fixed-point data types to the floating-point number representations for the underlying OpenGL, we show the way of efficient conversion processes even with satisfying OpenGL ES standard requirements. We also introduced a specialized memory management scheme to manage the converted data from the buffer containing fixed-point numbers. In the case of texture processing, the requirements in both standards are quite different, and thus we used completely new software-implementations. Our final implementation of OpenGL ES library provides all of more than 200 functions in the standard specification and passed its conformance test, to show its compliance with the standard. From the efficiency point of view, we measured its execution times for several OpenGL ES-specific application programs and achieved remarkable improvements.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. Gerbera implementation from Hybrid [12].

  2. PowerVR SDK from Imagination Technologies [13].

  3. We used the FX3400 graphics card from nVIDIA.

  4. We denote PowerVR MBX [13] from Imagination Technologies Inc. as the previous implementation A and Gerbera [12] from Hybrid Inc. as the previous implementation B, respectively.

References

  1. Apple iPhone. http://developer.apple.com/iphone/

  2. ARM. http://www.arm.com/news/21889.html

  3. ARM (1996) Fixed point arithmetic on the ARM. Application note 33. ARM

  4. Astle D, Durnil D (2004) OpenGL-ES game development (game development series). Premier Press, Budapest

    Google Scholar 

  5. Babin S (2007) Developing software for Symbian OS, 2nd edn. A beginner’s guide to creating Symbian OS v9 Smartphone applications in C+ +. Wiley, New York

    Google Scholar 

  6. Blythe D (2004) OpenGL ES common/common-lite profile specification, version 1.0.02 (annotated). Khronos Group

  7. dgles. http://sourceforge.net/projects/dgles

  8. GLee. http://elf-stone.com/glee.php

  9. Google Android. http://code.google.com/android/what-is-android.html

  10. Hill S, Robart M, Tanguy E (2008) Implementing openGL ES 1.1 over openGL ES 2.0. In: Int. conf. on consumer electronics, pp 1–2

  11. Hough D (1981) Applications of the proposed IEEE 754 standard for floating-point arithetic. Computer 14(3):70–74. doi:10.1109/C-M.1981.220381

    Article  MathSciNet  Google Scholar 

  12. Hybrid. http://www.embeddedstar.com/press/content/2004/2/embedded13008.html

  13. Imagination. http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp

  14. Khronos Group. http://www.khronos.org/

  15. Khronos Group Conformance Test Suites. http://www.khronos.org/adopters/

  16. Khronos Group Reference Implementation. http://www.khronos.org/developers/resources/

  17. Lee H, Baek N, Hahn JK (2010) OpenGL ES 1.1 software implementation on mobile phones. Accepted in IEICE Electronics Express

  18. Malizia A (2006) Mobile 3D graphics. Springer, New York

    Google Scholar 

  19. Mozilla web browser. http://wiki.mozilla.org/Canvas:3D/Historical

  20. Munshi A (2009) OpenGL ES common profile specification, version 2.0.24. Full specification. Khronos Group

  21. Munshi A, Leech J (2008) OpenGL ES common/common-lite profile specification, version 1.1.12. Full specification. Khronos Group

  22. nVIDIA. http://www.3d-test.com/interviews/nvidia_4.htm

  23. Pandora. http://www.openpandora.org/

  24. PlayStation3 API. http://www.nvidia.com/object/IO_21111.html

  25. Pulli K, Aarnio T, Roimela K, Vaarala J (2005) Designing graphics programming interfaces for mobile devices. IEEE Comput Graph Appl 25(6):66–75

    Article  Google Scholar 

  26. Pulli K, Vaarala J, Miettinen V, Aarnio T, Roimela K (2007) Mobile 3D graphics: with OpenGL ES and M3G. Morgan Kaufmann, San Francisco

    Google Scholar 

  27. Samsung Electronics. http://www.bada.com/

  28. Tu CH, Chen BY (2005) The architecture of a J2ME-based openGL ES 3D library. In: CAD-CG ’05: proceedings of the ninth international conference on computer aided design and computer graphics. IEEE Computer Society, Washington, pp 423–427. doi:10.1109/CAD-CG.2005.81

  29. Vincent3D. http://www.vincent3d.com/

Download references

Acknowledgements

The authors thank to Jetro Lauha, Changzhi Li and Jacobo Rodriguez Villar for their original OpenGL ES application programs, San Angeles, Dancing Flora and Jelly Fish, respectively, and their agreement on the official use of their programs in our experiments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nakhoon Baek.

Additional information

This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education, Science and Technology (Grants 2009-0088544 and 2010-0028106).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Baek, N., Lee, H. OpenGL ES 1.1 implementation based on OpenGL. Multimed Tools Appl 57, 669–685 (2012). https://doi.org/10.1007/s11042-010-0662-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-010-0662-4

Keywords

Navigation