DOI QR코드

DOI QR Code

OpenGL ES 2.0 Emulation on Desktop PCs

데스크탑 상에서의 OpenGL ES 2.0 에뮬레이션

  • Received : 2014.01.16
  • Accepted : 2014.03.13
  • Published : 2014.04.30

Abstract

OpenGL ES(OpenGL for Embedded System) 2.0 is one of the most widely used 3D graphics API(application progrma interface) standard for smart phones and tablet PCs at this time. During programming with this API, they prefer desktop environment rather than the target mobile environment, which has relatively low computing power. Thus, we need to emulate the OpenGL ES 2.0 API on the desktop PCs, where only OpenGL API libraries are available. In this paper, we present technical difficulties and their solutions to emulate OpenGL ES 2.0 on desktop PCs. Our final implementation of OpenGL ES 2.0 emulation library works on desktop PCs and passed over more than 96% of the official CTS(conformance test suites) to prove the correctness of our implementation. Additionally, for the commercially available benchmark programs, our implementation shows equivalent execution speeds to the previous commercial OpenGL ES 2.0 implementations.

OpenGL ES(OpenGL for Embedded System) 2.0은 현재 스마트 폰과 태블릿 PC에서 가장 널리 사용되고 있는 3차원 그래픽스 API표준이다. 이를 이용하는 개발과정에서는 상대적으로 성능이 떨어지는 모바일 환경보다는 데스크 탑 환경이 선호된다. 따라서, OpenGL 라이브러리만 제공되는 데스크 탑 환경에서, 모바일 그래픽스 환경에서의 OpenGL ES 2.0 API를 그대로 에뮬레이션 할 필요가 있다. 본 논문은 PC 상에서 OpenGL ES 2.0 을 에뮬레이션하기 위해, 기술적 문제점들을 극복하는 방법들과 이에 따른 구현 결과를 제시한다. 구현된 OpenGL ES 2.0 에뮬레이션 라이브러리는 데스크 탑 PC 상에서 동작하고, 공식적인 검증 테스트(conformance test suite)의 96%이상을 통과하여, 구현의 정확성을 보였다. 또한, 상업적으로 제공되는 벤치마크 프로그램들에 대한 테스트에서 기존의 상업적 구현 사례와 동등한 수행 속도를 보였다.

Keywords

References

  1. T. Capin, K. Pulli and T. Akenine-Moller, "The State of the Art in Mobile Graphics Research," IEEE Computer Graphics and Applications, 28(4):74-84, 2008. https://doi.org/10.1109/MCG.2008.83
  2. D. Blythe, OpenGL ES Common/Common-Lite Profile Specification, Version 1.1.12 (Full Specification), 2008.
  3. A. Munshi and J. Leech, OpenGL ES Common Profile Specification, Version 2.0.25 (Full Specification), 2010.
  4. B. Lipchak, OpenGL ES, Version 3.0.2, 2013.
  5. M. Segal and K. Akeley, The OpenGL Graphics System: A Specification, Version 2.1, Dec., 2006.
  6. J. Kessenich, The OpenGL Shading Language, Language Version: 1.20, Sep., 2006.
  7. R. J. Simpson, The OpenGL ES Shading Language, Language Version: 1.00, May, 2008.
  8. Imagination, PowerVR Insider, http://www.imgtec.com/
  9. ARM, Mali Graphics, http://www.arm.com/products/multimedia/mali-graphics-hardware/index.php
  10. NVIDIA, Tegra 4 Super Processors, http://www.nvidia.com/object/tegra.html
  11. R. Barris, et. al, OpenGL Extension #45, GL_ARB_framebuffer_object, 2008.
  12. A. Munshi, OpenGL ES 1.1 Extension Pack Specification, Version 1.03, Jul., 2005.
  13. ISO/IEC, International Standard 9899: Programming Language C, 1989.
  14. Khronos Group, OpenGL ES 2.0 CTS (conformance test suites), http://www.khronos.org/opengles/adopters/
  15. FutureMark, 3D Mark @ Mobile ES 2.0, http://www.futuremark.com/pressreleases/50623/
  16. B. Stockwell, OpenGL SC: Safety-Critical Profile Specification, version 1.0.1 Khronos Group, 2009.
  17. C. Marrin Ed., WebGL Specification, Draft 16, Khronos Group, 16 March, 2012.