转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/2011/04/20/opengl-es-emulator%e6%a8%aa%e5%90%91%e6%af%94%e8%be%83/ 

OpenGL ES在移动设备上大行其道,在PC上要开发点东西,一般就需要一个OpenGL ES Emulator。目前常见的模拟器有来自AMD、ARM、Qualcomm和NVIDIA的。他们的能力如何呢?让我们来进行一次简单的横向比较。

基本特性

厂商 AMD ARM
名称 OpenGL ES 2.0 Emulator
(已经卖给Qualcomm)
OpenGL ES 2.0 Emulator v1.2
模拟目标 AMD handheld GPU Mali
核心版本 2.0 1.x,2.0
扩展 GL_AMD_alpha_test
GL_AMD_compressed_3DC_texture
GL_AMD_compressed_ATC_texture
GL_AMD_logic_op
GL_AMD_program_binary_Z400
GL_AMD_writeonly_rendering
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_type_2_10_10_10_REV
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_compressed_paletted_texture
GL_OES_depth_texture
GL_OES_depth24
GL_OES_element_index_uint
GL_OES_fragment_precision_high
GL_OES_get_program_binary
GL_OES_packed_depth_stencil
GL_OES_rgb8_rgba8
GL_OES_standard_derivatives
GL_OES_texture_3D
GL_OES_texture_float
GL_OES_texture_float_linear
GL_OES_texture_half_float
GL_OES_texture_half_float_linear
GL_OES_texture_npot
GL_OES_vertex_half_float
GL_OES_vertex_type_10_10_10_2
GL_OES_compressed_ETC1_RGB8_texture
厂商 Qualcomm NVIDIA
名称 Adreno SDK 2.2 x86 Windows OpenGL ES 2.0 Emulator
模拟目标 QUALCOMM Adreno™ hardware Tegra
核心版本 2.0 2.0
扩展 GL_AMD_alpha_test
GL_AMD_compressed_3DC_texture
GL_AMD_compressed_ATC_texture
GL_AMD_logic_op
GL_AMD_shader_binary_Z400
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_type_2_10_10_10_REV
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_compressed_paletted_texture
GL_OES_depth_texture
GL_OES_depth24
GL_OES_element_index_uint
GL_OES_fragment_precision_high
GL_OES_packed_depth_stencil
GL_OES_rgb8_rgba8
GL_OES_standard_derivatives
GL_OES_texture_3D
GL_OES_texture_float
GL_OES_texture_float_linear
GL_OES_texture_half_float
GL_OES_texture_half_float_linear
GL_OES_texture_npot
GL_OES_vertex_half_float
GL_OES_vertex_type_10_10_10_2
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_s3tc
GL_NV_log_textures
GL_OES_compressed_paletted_texture
GL_OES_element_index_uint
GL_OES_framebuffer_object
GL_OES_mapbuffer
GL_OES_rgb8_rgba8
GL_OES_shader_source
GL_OES_stencil8
GL_OES_texture_half_float

特点

AMD:老牌模拟器,已经随着AMD的手持设备业务一起卖给Qualcomm。这款模拟器基本上中规中矩,用于 桌面开发OpenGL ES 2的开发没问题。它的扩展能满足常见的特效需要,兼容性和速度也不错。AMD的OpenGL ES模拟器对ES标准的支持程度甚至好于AMD的OpenGL驱动对GL标准的支持。

ARM:除了ES 2,它还支持ES 1.x。所以如果你想开发ES 1.x的程序可以选择ARM的。它的问题在于,扩展列表里只有ETC1一个,没法支持比较强大的特性比如浮点纹理。所以很多特效的使用可能受限制。需要注 意的是,因为它支持ES 1.x,eglChooseConfig的第二个参数里必须包含EGL_OPENGL_ES2_BIT才能建立ES 2.0的context。

Qualcomm:直接继承自AMD的模拟器,两者几乎完全相同。但在使用中我遇到的问题是,在NV的显卡上, 这个模拟器的表现非常奇怪,他会建立一个server和一个client,通过socket连接,然后死锁...而在AMD的卡上则没有任何问题。总的来 说,我不是很推荐这个模拟器。

NVIDIA:在这几个模拟器中,NVIDIA的最新,模拟的目标硬件也最强大。但在使用中的问题比较多:

  1. 虽然看似提供了OpenGL ES 1.x和OpenVG的接口,但只是个空的链接,并没有实现代码。
  2. libGLESv2和libEGL的内容被合并到一个名为libGLES20的静态库中,所以link的地方需要做一些修改。
  3. libGLES20中的函数是__cdecl的调用方式,而不是其他模拟器使用的__stdcall,所以如果遇到link出错,就查查这个地方吧。
  4. glMapBufferOES虽然提供了,但返回总是NULL。

目前我做得比较也就是这些。我比较推荐在AMD卡上用Qualcomm的,否则就用ARM的。NVIDIA的可能还需要一些时间,得等其稳定下来。

OpenGL ES Emulator横向比较相关推荐

  1. OpenGL ES Emulator再次横向比较

    去年4月份我写过<OpenGL ES Emulator横向比较>,比较了4种常见的OpenGL ES模拟器.过了将近一年,让我们再次横向比较一下现在的模拟器. 基本特性 厂商 NVIDIA ...

  2. OpenGL ES Emulator比较

    http://blog.csdn.net/nhsoft/article/details/6337434 http://www.klayge.org/2011/04/20/opengl-es-emula ...

  3. OpenGL ES 模拟器

    OpenGL ES在移动设备上大行其道,在PC上要开发点东西,一般就需要一个OpenGL ES Emulator.目前常见的模拟器有来自AMD.ARM.Qualcomm和NVIDIA的.他们的能力如何 ...

  4. A summary of OpenGL ES 3.1 demos and samples

    发贴人 hans-kristian 于2015-4-14 7:11:19在ARM Mali Graphics About me Hi, I am Hans-Kristian Arntzen! This ...

  5. 一文学会 PC搭建opengl es C++开发环境

    Windows搭建opengl es C++开发环境 之前编写Native的OpenGL ES实现代码时,使用的编译工具无论是Android Studio还是eclipse都给我一种:用txt文档中写 ...

  6. Windows 10 配置OpenGL ES 3.0 环境

    1.下载Mali OpenGL ES Emulator https://developer.arm.com/products/software-development-tools/graphics-d ...

  7. opengl es 2.0环境

    http://blog.csdn.net/tspangle/article/details/38735071 1. 下载AMD的OpenGL ES2.0的模拟器,下载地址: http://www.op ...

  8. Android 硬件 OpenGL ES 模拟设计概述

    简介 Android 平台的 OpenGL ES 模拟由多个组件实现,它们是: 一些宿主机的 "翻译器" 库.它们实现了由 Khronos 定义的 EGL,GLES 1.1 和 G ...

  9. win7下搭建opengl es 2.0开发环境

    原文  http://codingnow.cn/opengles/1501.html 主题 OpenGL ES Windows 7 1. 下载AMD的OpenGL ES2.0的模拟器 ,下载地址:  ...

最新文章

  1. 理解一下jQuery.extend()和jQuery.fn.extend()方法
  2. Windows10内置Linux子系统初体验
  3. 爬虫基础, 乱码问题, jupyter, urllib, requests, lxml, multiprocessing并发, session, beautifulsoup...
  4. 记录工作中遇到的问题
  5. 莫名其妙的主机名 VM_32_234_centos
  6. 吴恩达《机器学习》学习笔记十——神经网络相关(2)
  7. html在线摄像头,在HTML里加载摄像头的方法
  8. 关于过程和线程的常识点汇总
  9. ie java 注册表,win7在桌面显示IE图标的注册表
  10. 程序员眼中的中国传统文化_王阳明《传习录》2
  11. 51单片机DS18B20测温LCD12864显示
  12. ActivityManager: Waited long enough for:****Service
  13. OSPF50个经典问题
  14. 2001-2020年全国31省城镇居民人均可支配收入/居民实际收入水平
  15. 修改无法启动的容器中的配置文件(elasticsearch)
  16. Stata面板:Granger-因果检验
  17. 北京圣思园JAVA培训教学视频汇总
  18. 贼好用的六款 Linux 远程连接工具介绍
  19. HTTP 304: Not Modified
  20. 最新百家姓-你排老几

热门文章

  1. Collections类
  2. HTML语言法则主要是什么,prolog语言的三种基本语句是什么?
  3. ubuntu mysql 5.7 远程_ubuntu16.0.4安装mysql5.7以及设置远程访问
  4. apt get php mysql_Ubuntu10用apt-get配置apache+php+mysql(轉)
  5. 绿盟漏洞扫描_二十周年专题|绿盟极光,用专注惊艳了时光
  6. Linux(四):虚拟机Ubuntu 卸载
  7. 中加学校计算机考试题,嘉应学院2009年计算机期末考试试题
  8. linux 查看hadoop命令大全,linux下hadoop集群常用命令
  9. mac 10.12.6 Fiddler的安装
  10. vs code的tabs模式的终端