位置: 编程技术 - 正文

OpenGL ES Emulator比较

编辑:rootadmin

推荐整理分享OpenGL ES Emulator比较,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Mali ARM的ES 2.0 Emulator [libEGL.dll libEGLSv2.dll]

2. AMD 的Emulator [libEGL.dll libEGLSv2.dll]

3. Ati的atioglxx.dll

4. NV的Emulator.

这几个Emulator中,第二个是我以前用过。但是没成功。NV的据龚敏敏说不好使,暂时不考虑。现在就先支持前面三个。因为atioglxx.dll中大部分的函数加载都做完了,于是决定做一个EGL2Wrapper。程序只连接这个Wrapper。这个Wrapper则动态的加载不同的dll

这些Emulator中, 当然atioglxx.dll是性能最好的,最省事的。其次是AMD 的Emulator。但是这个模拟器明显就对glsl语法严&#;很多。precesion lowp float这样的语句必须放在最前面。

而Mali的则是最头疼的,性能也最差,glShaderBinary没法用。glCompileShader又弹出个console来,而且,对语法要求比AMD 还恶心。 mul函数不支持矩阵和向量乘法, highp就更不想了。0.0f 这样的浮点数写法都有错,更多的细节大家慢慢体会吧。

因此,如果想多平台运行,还是推荐AMD那个Emulator。官网已经吓不倒了。其它地方再找找吧。

注意一下,libEGL.dll是有可能依赖于libEGLSv2.dll的。 所以,在很多时候,在LoadLibrary(libEGL.dll)的时候,应该把当前路劲设置到libEGL.dll所在的路径。

OpenGL ES Emulator比较

去年4月份我写过《OpenGL ES Emulator横向比较》,比较了4种常见的OpenGL ES模拟器。过了将近一年,让我们再次横向比较一下现在的模拟器。

基本特性厂商NVIDIAARM名称x Windows OpenGL ES 2.0 EmulatorOpenGL ES 2.0 Emulator v1.3模拟目标TegraMali版本OpenGL ES 1.1, 2.0; EGL 1.3OpenGL ES 1.1,2.0; EGL 1.3扩展GL_EXT_texture_compression_dxt1GL_EXT_texture_compression_s3tcGL_NV_log_texturesGL_OES_compressed_paletted_textureGL_OES_element_index_uintGL_OES_framebuffer_objectGL_OES_mapbufferGL_OES_rgb8_rgba8GL_OES_shader_sourceGL_OES_stencil8GL_OES_texture_half_floatGLES_OES_compressed_ETC1_RGB8_textureGLES_EXT_texture_format_BGRAGLES_OES_texture_npot支持的例子所有DetailedSurfaceDistanceMappingEmptyAppFractalProceduralTexTextVertexDisplacementVideoTexture厂商PowerVR名称PowerVR SDK模拟目标SGX核心版本OpenGL ES 2.0; EGL 1.4扩展GL_OES_byte_coordinatesGL_OES_fixed_pointGL_OES_query_matrixGL_OES_single_precisionGL_OES_matrix_getGL_OES_read_formatGL_IMG_read_formatGL_OES_point_spriteGL_OES_query_matrixGL_OES_texture_env_crossbarGL_OES_texture_mirrored_repeatGL_OES_blend_subtractGL_OES_blend_func_separateGL_OES_blend_equation_separateGL_OES_stencil_wrapGL_OES_extended_matrix_paletteGL_IMG_multisampled_render_to_textureGL_OES_vertex_half_floatGL_OES_compressed_ETC1_RGB8_textureGL_OES_compressed_paletted_textureGL_OES_depthGL_OES_depth_textureGL_OES_required_internalformatGL_OES_vertex_array_objectGL_OES_packed_depth_stencilGL_EXT_discard_framebufferGL_OES_texture_floatGL_OES_texture_half_floatGL_OES_texture_cube_mapGL_OES_rgb8_rgba8GL_OES_stencil8GL_OES_fragment_precision_highGL_OES_element_index_uintGL_IMG_texture_compression_pvrtcGL_OES_mapbufferGL_OES_texture_npotGL_EXT_multi_draw_arrays支持的例子DepthPeelingDistanceMappingEmptyAppFractalRefractSubsurfaceTextVertexDisplacementVideoTexture特点

NVIDIA:和我上一次的横向比较是同一个模拟器。dll的名字和函数的调用方式和别的模拟器有些区别。在做函数动态载入的时候需要注意。

ARM:版本升级到了1.3,增加了2个扩展,其他没啥区别。这个模拟器不支持half float和float的texture,所以hdr相关的都无法使用。

PowerVR:这次新加入比较的模拟器。本身功能很齐备,除了模拟OpenGL ES之外,还带有一系列的纹理压缩工具、shader编译工具等。在编译shader的时候还会打出每一行的开销(其实我希望把它关掉的)。但不知道为什么,比较复杂的shader给glCompileShader之后,就会卡死,过很长时间也没编译出来。所以KlayGE的一些例子因此无法运行。

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

基本特性厂商AMDARM名称OpenGL ES 2.0 Emulator(已经卖给Qualcomm)OpenGL ES 2.0 Emulator v1.2模拟目标AMD handheld GPUMali核心版本2..x,2.0扩展GL_AMD_alpha_testGL_AMD_compressed_3DC_textureGL_AMD_compressed_ATC_textureGL_AMD_logic_opGL_AMD_program_binary_ZGL_AMD_writeonly_renderingGL_EXT_texture_filter_anisotropicGL_EXT_texture_type_2____REVGL_OES_compressed_ETC1_RGB8_textureGL_OES_compressed_paletted_textureGL_OES_depth_textureGL_OES_depthGL_OES_element_index_uintGL_OES_fragment_precision_highGL_OES_get_program_binaryGL_OES_packed_depth_stencilGL_OES_rgb8_rgba8GL_OES_standard_derivativesGL_OES_texture_3DGL_OES_texture_floatGL_OES_texture_float_linearGL_OES_texture_half_floatGL_OES_texture_half_float_linearGL_OES_texture_npotGL_OES_vertex_half_floatGL_OES_vertex_type____2GL_OES_compressed_ETC1_RGB8_texture厂商QualcommNVIDIA名称Adreno SDK 2.2x Windows OpenGL ES 2.0 Emulator模拟目标QUALCOMM Adreno™ hardwareTegra核心版本2..0扩展GL_AMD_alpha_testGL_AMD_compressed_3DC_textureGL_AMD_compressed_ATC_textureGL_AMD_logic_opGL_AMD_shader_binary_ZGL_EXT_texture_filter_anisotropicGL_EXT_texture_type_2____REVGL_OES_compressed_ETC1_RGB8_textureGL_OES_compressed_paletted_textureGL_OES_depth_textureGL_OES_depthGL_OES_element_index_uintGL_OES_fragment_precision_highGL_OES_packed_depth_stencilGL_OES_rgb8_rgba8GL_OES_standard_derivativesGL_OES_texture_3DGL_OES_texture_floatGL_OES_texture_float_linearGL_OES_texture_half_floatGL_OES_texture_half_float_linearGL_OES_texture_npotGL_OES_vertex_half_floatGL_OES_vertex_type____2GL_EXT_texture_compression_dxt1GL_EXT_texture_compression_s3tcGL_NV_log_texturesGL_OES_compressed_paletted_textureGL_OES_element_index_uintGL_OES_framebuffer_objectGL_OES_mapbufferGL_OES_rgb8_rgba8GL_OES_shader_sourceGL_OES_stencil8GL_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的最新,模拟的目标硬件也最强大。但在使用中的问题比较多:

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

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

Eclipse下的SWT的OpenGL开发(实例及源码)RCP旋转的彩色三棱锥 配置如上篇Eclipse下的SWT的OpenGL开发(配置、实例及源码)正弦波新建插件工程,选中rcp,选择带视图模板的,finish。此时就有一个完整的带有视图的rcp

在Code::Blocks中配置OpenGL 在CodeBlocks中配置OpenGL和在VC、VS中配置略有不同,需要的库文件也略有差别。本文章以CB为例。(新老版本通用,但最好使用mingw工具,GCC/GDB等,其他

Xcode加入OpenGL Framework Xcode是MacOSX中自带的开发环境。GLUT提供了跨越平台的OpenGL实用工具。本文讲述如何在Xcode3.2中使用GLUT来开发OpenGL应用程序。在Xcode的启动面板中,选Create

标签: OpenGL ES Emulator比较

本文链接地址:https://www.jiuchutong.com/biancheng/373112.html 转载请保留说明!

上一篇:OSG 砖块 shader 例子 GLSL

下一篇:Eclipse下的SWT的OpenGL开发(实例及源码)RCP旋转的彩色三棱锥(eclipse awt)

  • 代扣个人借款分录
  • 一般纳税人附加税优惠政策2023
  • 财产租赁所得怎么计算个人所得税
  • 汽车购置税怎么算2023
  • 关联企业的判定标准
  • 营销活动,单位让现场观众抽现金奖如何入账?
  • 其他应收款账务处理题目
  • 以前年度什么意思
  • 个体户怎么开增值税普通发票过程
  • 固定资产清理残料变价收入
  • 工程结算开票金额与付款金额区别
  • 邀请客户参加公司会议
  • 本期应纳税额减征额怎么填写
  • 用excel怎么制作思维导图
  • 异地开发房地产会一直待在那个城市吗
  • 销售金额计算抵增值税吗
  • 建筑业预缴税款是什么意思
  • 参与工会职工应享受哪些福利待遇
  • 个人承包业务是否合法
  • 港币转人民币怎么转账
  • 个人账户转公司账户需要交税吗
  • 固定资产退回账务处理规定
  • 预付账款怎么做凭证
  • 2018企业所得税小微企业优惠政策
  • 电费收入印花税如何计算
  • 如何查询进项发票是否作废
  • 本月出口下月开发票可以吗
  • 小微企业免税销售额填含税还是不含税
  • 零余额账户期末怎么结转?
  • 小规模企业如何收款
  • 发票认证只认证进项吗
  • 境外取得收入
  • 餐饮业现金流
  • 非正常损失的进项税额如何计算
  • php导入
  • 营改增后增值税税率
  • 提供应税服务的纳税义务发生时间
  • 公司购买的大型安装设备什么时候转入固定资产
  • 装修房子监理
  • php毫秒转换时分秒
  • 目前最流行的婚纱照风格
  • 研发费用税前加计扣除怎么算
  • 关于增值税专用发票
  • 结转损益类收入科目的余额会计分录
  • 车船税不计提怎么做分录
  • 金税盘锁死状态
  • 特斯拉适用于什么车型
  • 超参数及其作用
  • 机票的退票费计入什么会计科目
  • 研发支出相关科目
  • 出差补贴要扣税吗
  • wordpress怎么删除文章
  • 织梦专题页模板
  • 银行存款转银行存款 什么凭证
  • mongodb简单使用
  • 技术转让和技术开发区别
  • 下列支出计入销售费用账户借方的是
  • 劳务公司包工包料工程如何账务处理
  • 销售折扣购物卡对公司财务的好处
  • 异地设立分公司怎么办理?
  • 小规模纳税人上限
  • 如何理解预付年金终值期数和系数和记忆方法
  • 用友关账怎么取消
  • 开红字发票必须要收回原发票并作废吗?
  • 去年的物业费今年收到了可以确认收入吗
  • 暂估固定资产的账务处理
  • mssql insert into 和insert into select性能比较
  • win10 impact
  • win7一直处于开机界面
  • win8电脑设置
  • win8关闭uac
  • 批处理有何限制
  • javascript运用
  • 联机游戏
  • shell变量作用范围
  • 个人总结的几个方面
  • 原生js页面滚动怎么设置
  • 破产清算处置资产增值税
  • 广东省国家税务总局电子税务局
  • 四川电子税务局网上办税大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设