当前位置:  开发笔记 > 开发工具 > 正文

基于OpenGL ES的桌面硬件加速OpenVG实现

如何解决《基于OpenGLES的桌面硬件加速OpenVG实现》经验,为你挑选了0个好方法。

我目前正试图在我的桌面上启动并运行OpenVG.问题出现在这里:我/将要开发一个Windows CE设备的应用程序(带有.NET紧凑框架),它具有硬件加速的OpenGL ES 2.0和OpenVG 1.0.1(基于TI OMAP35x,如果你有兴趣的话) ).该应用程序肯定会使用OpenVG进行绘制,如果OpenVG不提供它们(即模糊),可能会使用OpenGL进行某些效果.

现在我想在没有模拟器的桌面上开发(参见这个问题).所以我想我只是用P/Invoke导入OpenVG,这非常简单,因为OpenVG人员将他们的常量变成了真正的枚举,虽然是一个程序性的C API,但它很好地转换为面向对象的形式(带有Graphics类)用于绘制和路径,绘画,描边和图像对象).我还设法使用不同名称的DLL和入口点.哦,我导入了EGL 1.3,也很容易转换为面向对象的API.

在此之前,它听起来相当不错.我以为我只是使用Khronos的OpenVG参考实现,但速度很慢.真的很慢.你知道,像清除表面以字面上一个第二个!所以我认为,很好,OpenVG是一个标准,我将采取其他一个实现.其中大多数都基于OpenGL,这就是我想要的.或者不是吗?

不,这不对.使用EGL 1.3(随OpenGL ES 2.0的PowerVR Windows Emulation SDK提供)创建OpenGL ES 2.0表面与我尝试的任何OpenVG实现都不兼容.其中一些需要传统的OpenGL(AmanithVG GLE),PowerVR提供的EGL版本不支持OpenVG.大多数实现甚至没有EGL并使用一些奇怪的函数来初始化上下文 - 所有这些都假设已经创建了OpenGL上下文.OpenGL,而不是OpenGL ES.叹.

我能够工作的唯一一个是AmanithVG SRE,它对于软件实现非常快,并且不依赖于OpenGL或EGL.它可以工作,但它对于实时动画来说仍然太慢了.

我无法相信这些事情是如此错误.我真的很想使用WindowsMo​​bile.DirectX.Direct3D,PowerVR为桌面Windows提供仿真层,希望最终的Board支持包能够提供Direct3D作为OpenGL ES包装器,就像它似乎在许多设备.

那么,问题,最后:

是否有适用于OpenGL ES 2.0的Windows桌面系统的OpenVG实现?如果使用PowerVR的OpenGL ES 2.0仿真和提供的EGL 1.3,它可以顺利运行.

或者我应该尝试在桌面上使用传统的OpenGL 2.0实现?但他们通常也不提供EGL.我不想有两个初始化层(EGL和WGL).或者我应该?

注意:这不是.NET问题,因为如果没有.NET,问题就是一样.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有