搞了一天,终于转起来了。Windows 上用 ARM MALI OpenGL ES Emulator 模拟一个 OpenGL ES 环境。
Android 是 OpengGL ES,Windows 上用 ARM MALI OpenGL ES Emulator 模拟一个 OpenGL ES 环境。
OpenGL ES is an embedded version of OpenGL mostly used on mobile devices that offer only limited GPU capabilities compared to modern desktop GPUS.
EGL is a native platform interface that connects the windowing systems to one of Khronos’ APIs, e.g. OpenGL ES.
相关下载:https://www.khronos.org/registry/OpenGL/index_es.php
ARM MALI OpenGL ES Emulator for Windows OpenGL ES Emulator: 3.0.2 February 23, 2017 https://developer.arm.com/tools-and-software/graphics-and-gaming/opengl-es-emulator/downloads
EGL 实际上是 OpenGL 和设备(又或者叫操作系统)间的中间件,因为 OpenGL 是标准的,但设备是千奇百怪的,要对接就需要一个中间件做协调。也就是说一个设备要支持 OpenGL,那么它需要开发一套相对应的 EGL 来对接。EGL 主要负责初始化 OpenGL 的运行环境和设备间的交互,简单的说就是 OpenGL 负责绘图 EGL 负责和设备交互。
Khronos 是 OpenGL,OpenGL ES,OpenVG 和 EGL 等规范的定义者。
PowerVR、Adreno、Mali 三大主流移动 GPU。from
厂商 | 名称 |
---|---|
AMD | |
ARM | OpenGL ES 2.0 Emulator v1.2 ARM Mali Emulator |
Qualcomm | Adreno SDK 2.2 Adreno GPU SDK |
NVIDIA | |
PowerVR | PowerVR SDK PowerVR Graphics SDK |
ANGLE - Almost Native Graphics Layer Engine Chrome、Qt & Webgl 也是基于它实现的! QT GLES & Android emulator 自己编译 Angle 有点费力,在最新版本的 cocos2dx 拷贝出来不能用,最后发现:从最新版本的 QT 包里面把 EGL & GLESv2.dll 拷贝出来,跑的非常完美。 |
ANGLE A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.
费不尽力的老力,都下载下来,整理好了:https://gitee.com/hawkhai/opengl-3rd.git
维基百科给出的列表,也不知道真的假的。link
eglChooseConfig 的第二个参数里必须包含 EGL_OPENGL_ES2_BIT 才能建立 ES 2.0 的 context。
How to optimize the graphics performance of your Cocos2d-x games There are three major mobile GPU vendors nowadays and they provide decent graphics profiling tools:
D/libEGL: loaded /vendor/lib/egl/libEGL_emulation.so
D/libEGL: loaded /vendor/lib/egl/libGLESv1_CM_emulation.so
D/libEGL: loaded /vendor/lib/egl/libGLESv2_emulation.so
D/EGL_emulation: eglCreateContext: 0xf279fb20: maj 3 min 0 rcv 3
D/EGL_emulation: eglMakeCurrent: 0xf279fb20: ver 3 0 (tinfo 0xf2af3030) (first time)
D/HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1
ANDROID_EMU_native_sync_v2
ANDROID_EMU_native_sync_v3
ANDROID_EMU_native_sync_v4
ANDROID_EMU_dma_v1
ANDROID_EMU_direct_mem
ANDROID_EMU_host_composition_v1
ANDROID_EMU_host_composition_v2
ANDROID_EMU_YUV_Cache
ANDROID_EMU_async_unmap_buffer
GL_OES_EGL_image_external_essl3
GL_OES_vertex_array_object
GL_KHR_texture_compression_astc_ldr
ANDROID_EMU_host_side_tracing
ANDROID_EMU_async_frame_commands
ANDROID_EMU_gles_max_version_3_0