简体   繁体   English

在PC上运行简单的GLES / EGL / OpenVG应用程序的最简单方法?

[英]Easiest way to run a simple GLES/EGL/OpenVG app on a PC?

I thought this should be easy, but... geesh! 我认为这应该很容易,但是...... geesh! A vendor gave me a fairly simple demo program meant to showcase some trivial icon animations. 供应商给了我一个相当简单的演示程序,旨在展示一些琐碎的图标动画。 The target platform is an embedded system (MX51) with accelerated OpenGL ES 2.0/OpenVG and EGL support. 目标平台是嵌入式系统(MX51),具有加速的OpenGL ES 2.0 / OpenVG和EGL支持。

Unfortunately, the demo also has an annoying dependency on a few Qt utility classes (eg, QImage). 不幸的是,该演示还对一些Qt实用程序类(例如,QImage)产生了恼人的依赖性。 If not for this dependency, I would compile/run the thing on the target. 如果不是这种依赖,我会编译/运行目标上的东西。 But I don't relish the thought of cross-compiling Qt just to run this little demo---even if there were enough room for it on the embedded board. 但我不喜欢交叉编译Qt只是为了运行这个小小的演示 - 即使嵌入式电路板上有足够的空间。

I hoped I might be able to run the app on a standard(ish) Ubuntu 10.04 VM, and started following these directions to make it happen. 我希望我能够在标准(ish)Ubuntu 10.04 VM上运行应用程序,并开始遵循这些指示来实现它。 And I actually managed---like, 10 hours later---to compile everything and get a runnable binary of the demo program. 我实际上管理了 - 比如, 10小时后 - 编译所有内容并获得演示程序的可运行二进制文件。 However, when I run it, I see the following error: 但是,当我运行它时,我看到以下错误:

eglCreateWindowSurface: egl error "EGL_BAD_CONFIG" (0x3005)

Sigh. 叹。 Not what I wanted to see after all that effort. 在我付出努力之后,这不是我想要看到的。 This seems way more difficult than it should be. 这似乎比应该更困难。

Is the embedded GL landscape really such a ghetto that I have to run even trivial programs on the target using some vendor-supplied BSP? 嵌入式GL环境真的是如此贫民窟,我必须使用一些供应商提供的BSP在目标上运行甚至是微不足道的程序吗? Judging from the lack of responses to this guy's question , I'm thinking the answer might be yes. 从对这个家伙的问题缺乏回应来判断,我认为答案可能是肯定的。 But I don't even care about acceleration (yet). 但我甚至不关心加速度。 I just want to run the stupidest of OpenGL ES 2/OpenVG programs on a desktop PC and get an idea of how it looks. 我只是想在桌面PC上运行最愚蠢的OpenGL ES 2 / OpenVG程序,并了解它的外观。 (It doesn't matter to me whether the PC is running Linux or Windows.) How do people do this sort of thing? (对我而言,PC是运行Linux还是Windows并不重要。)人们如何做这类事情?

There are several OpenGL ES 2.0 emulators, such as: 有几个OpenGL ES 2.0仿真器,例如:

For ARM Mali GPUs 适用于ARM Mali GPU

For PowerVR GPUs 对于PowerVR GPU

Also very recently, AMD has posted drivers that expose OpenGL ES 2.0 on desktop. 最近,AMD发布了在桌面上公开OpenGL ES 2.0的驱动程序

More recently, OpenGL 4.1 exposes the GL_ARB_ES2_compatibility extension, which makes OpenGL 4.1 drivers GL ES 2.0 compatible. 最近,OpenGL 4.1公开了GL_ARB_ES2_compatibility扩展,这使得OpenGL 4.1驱动程序GL ES 2.0兼容。

For OpenVG, you can use AmanithVG GLE . 对于OpenVG,您可以使用AmanithVG GLE

Qualcomm's OpenGL ES emulator includes OpenVG support. Qualcomm的OpenGL ES仿真器包括OpenVG支持。 You can download it from http://developer.qualcomm.com 您可以从http://developer.qualcomm.com下载它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 由于尝试在Android上启动本机gles2 / egl应用程序而没有本机活动,导致分段错误 - Segmentation fault due to attempt to launch native gles2/egl app on android, without native activity glMapBufferRange在Android GLES应用程序上崩溃 - glMapBufferRange crashing on Android GLES app 在Android中选择EGL配置的正确方法是什么? - What is the right way to choose an EGL config in Android? 在 android 中的 Dispatchers.Default 上运行 EGL 命令可以吗? - Is it okay to run EGL commands on Dispatchers.Default in android? Android:如何将此应用程序从 GLES1 移植到 GLES3 - Android: How can I port this app from GLES1 to GLES3 如何阻止应用内结算客户端丢失EGL上下文? - How to stop In-App Billing client from losing EGL Context? 尝试在Android模拟器上运行mapsActivity时出现EGL错误 - EGL error when trying to run mapsActivity on Android emulator 如何在暂停Android ndk应用程序时保留EGL上下文 - How to preserve EGL context when pausing Android ndk app 在保留EGL上下文的同时最小化OpenGL应用程序会导致巨大问题 - Minmizing OpenGL app while preserving EGL Context results in HUGE PROBLEM 使用OpenGL ES绘制纹理的最简单方法是什么? - What is the easiest way to draw texture with OpenGL ES?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM