Browse > Article
http://dx.doi.org/10.3745/KIPSTA.2009.16-A.3.159

OpenGL ES 1.1 Implementation Using OpenGL  

Lee, Hwan-Yong (경북대학교 전자전기컴퓨터학부, (주)휴원)
Baek, Nak-Hoon (경북대학교 전자전기컴퓨터학부)
Abstract
In this paper, we present an efficient way of implementing OpenGL ES 1.1 standard for the environments with hardware-supported OpenGL API, such as desktop PCs. Although OpenGL ES was started from the existing OpenGL features, it becomes a new three-dimensional graphics library customized for embedded systems through introducing fixed-point arithmetic operations, buffer management with fixed-point data type supports, completely new texture mapping functionalities and others. Currently, it is the official three dimensional graphics library for Google Android, Apple iPhone, 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. 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 simple memory management scheme to mange the converted data for 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 result of OpenGL ES library provides all of over than 200 functions in OpenGL ES 1.1 standard and completely passed its conformance test, to show its compliance with the standard. From the efficiency viewpoint, we measured its execution times for several OpenGL ES-specific application programs and achieved at most 33.147 times improvements, to become the fastest one among the OpenGL ES implementations in the same category.
Keywords
OpenGL ES; OpenGL; Desktop Implementation; Conformance Test;
Citations & Related Records
연도 인용수 순위
  • Reference
1 D. Blythe, OpenGL ES Common/Common-Lite Profile Specification, version 1.0.02(annotated), Khronos Group, 2004
2 A. Malizia, Mobile 3D Graphics, Springer, 162 pages, 2006
3 K. Pulli, T. Aarnio, K. Roimela, and J. Vaarala, 'Designing graphics programming interfaces for mobile devices,' IEEE CG&A, Vol.25, No.6, pp.66-75, 2005   DOI   ScienceOn
4 http://www.vincent3d.com/
5 http://wiki.mozilla.org/Canvas:3D/Historical
6 http://www.khronos.org/developers/resources/
7 http://www.khronos.org/
8 ARM, Fixed Point Arithmetic on the ARM, Application Note 33, ARM, 1996
9 D. Hough, 'Applications of the proposed IEEE-754 standard for floating point arithmetic,' IEEE Computer, Vol.14, No.3, pp.70-74, 1981   DOI   ScienceOn
10 A. Munshi, OpenGL ES Common Profile Specification, version 2.0.23(Full Specification), Khronos Group, Aug., 2008
11 http://www.3d-test.com/interviews/nvidia_4.htm
12 S. Hill, M. Robart and E. Tanguy, 'Implementing OpenGL ES 1.1 over OpenGL ES 2.0,' Int. Conf. on Consumer Electronics, pp.11-1.5, 2 pages, 2008   DOI
13 http://elf-stone.com/glee.php
14 http://developer.apple.com/iphone/
15 K. Pulli, T. Aarnio, V. Miettinen, K. Roimela and J. Vaarala, Mobile 3D Graphics: with OpenGL ES and M3G, 500 pages, Morgan Kaufman, Nov., 2007
16 S. Babin, Developing Software for Symbian OS, 2nd Ed, 432 pages, Symbian Press/Wiley, 2007
17 http://code.google.com/android/what-is-android.html
18 http://www.openpandora.org/
19 http://www.nvidia.com/object/IO_21111.html
20 D. Astle and D. Durnil, OpenGL ES Game Development, Course Technology PTR, 320 pages, Sep., 2004
21 http://www.arm.com/news/21889.html
22 http://www.embeddedstar.com/press/content/2004/2/embedded13008. html
23 http://sourceforge.net/projects/dgles
24 http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp
25 C.-H. Tu and B.-Y. Chen, 'The architecture of a J2ME-based OpenGL ES 3D Library', 9th Conf. on Computer Aided Design and Computer Graphics, 5 pages, 2005   DOI
26 http://www.khronos.org/adopters/
27 http://www.hu1.com/english/B-03_01.html
28 A. Munshi and J. Leech, OpenGL ES Common/Common-Lite Profile Specification, version 1.1.12 (Full Specification), Khronos Group, Apr., 2008