图形学笔记 -- OpenGL ES Emulator for Windows / PowerVR Adreno Mali

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

GPU 架构与管线总结 Life of a Triangle

OpenGL ES Emulator 横向比较

PowerVR、Adreno、Mali 三大主流移动 GPU。from

厂商 名称
AMD OpenGL ES 2.0 Emulator 2008 年卖给了高通(Qualcomm)
ARM OpenGL ES 2.0 Emulator v1.2 ARM Mali Emulator
Qualcomm Adreno SDK 2.2 Adreno GPU SDK
NVIDIA Windows OpenGL ES 2.0 Emulator Tegra 没有找到地方下载
PowerVR PowerVR SDK PowerVR Graphics SDK
Google 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

2020 年 9 月 13 日,英伟达 NVIDIA 宣布以 400 亿美元收购 ARM。

ARM Mali

Qualcomm Adreno

Welcome to QUALCOMM's Adreno™ Software Development Kit (SDK). This is version 3.0.0 of the SDK that includes support for OpenGL ES 2.0 and 3.0 through PC emulation under Windows XP. The SDK is provided as a development environment for QUALCOMM's Adreno™ graphics processors, and is intended to help ease the learning curve of said technology.

OpenGL ES Unified Emulators

QUALCOMM's OpenGL ES 2.0 / 3.0 Emulator is designed to emulate functionality exposed by QUALCOMM's Adreno™ GPUs. The purpose of this emulator is to aid developers in their design of OpenGL ES games and applications. The emulator allows developers to get a head start designing their graphics code before hardware supporting OpenGL ES is available, and even after this hardware becomes available developing on a PC is often advantageous due to superior developer and debugging tools.

The emulator has five major features:

  • Support of core OpenGL ES 2.0 / 3.0 functionality
  • Support for many important OpenGL ES 2.0 extensions
  • Support of core OpenGL ES 1.x functionality
  • Support for many OpenGL ES 1.x extensions
  • Support for EGL 1.3

About Demos

Samples are to tutorials, what demos are to samples. While samples showcase complex effects that may make use of multiple tutorial concepts, demos make use of a combination of sample effects to show off the capabilities of QUALCOMM mobile graphics hardware.

About Tutorials

Tutorials are example programs that demonstrate a specific 2D or 3D capability of our hardware. These programs are simpler to understand than sample applications, and are the recommended starting point for anyone new to OpenGL ES. Additionally, tutorials do not rely upon a framework, and do not require user input.

About Samples

Samples are a little bit more complex than tutorials. They show how to achieve interesting effects using our hardware sometimes through the use of a combination of multiple tutorial techniques. Samples make use of a common code base called the "Sample Framework" that provides a platform agnostic development environment.

进阶路线:\(Tutorials \leadsto Samples \leadsto Demos\)。 If you are new to OpenGL ES 2.0, then we suggest that you go through the tutorials first, and then move on to sample programs. Currently there are no tutorials for OpenSL ES.

opengl adreno 仿真报错

Could not Load from Adreno device driver: eglGetError answer

这个加载逻辑有点怪。如果都搞好了,win32 的加载顺序包含:

Imagination PowerVR

PVRVFrame is provided for platforms without native support for OpenGL ES but where OpenGL is supported.

PVRVFrame is included as part of the PowerVR SDK and provides a set of desktop emulation libraries for OpenGL ES wrapping desktop OpenGL allowing deployment of OpenGL ES applications on desktop Windows, macOS, and Linux which can help to speed up development times and improve productivity.

The PVRVFrame library filenames are:

  • libEGL.dll (EGL)
  • libGLES_CM.dll (OpenGL ES 1.x)
  • libGLESv2.dll (OpenGL ES 2.0 and 3.x)

The PowerVR SDK has a number of third-party dependencies, each of which may have their own license:

  • glm : OpenGL Mathematics
  • pugixml : Light-weight, simple and fast XML parser for C++ with XPath support
  • concurrentqueue : A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
  • glslang : Shader front end and validator
  • tinygltf : Header only C++11 tiny glTF 2.0 library
  • vma : Vulkan Memory Allocator
  • vulkan : Sources for the formal documentation of the Vulkan API

References


参考资料快照
参考资料快照

本文短链接:
If you have any questions or feedback, please reach out .