我目前正在尝试在我的桌面上启动并运行OpenVG。问题来了:我正在/将要为Windows CE设备(使用.NET紧凑型框架)开发一个应用程序,该设备具有硬件加速的OpenGL ES 2.0和OpenVG 1.0.1(基于TI OMAP35x,如果你感兴趣的话)。应用程序肯定会使用OpenVG进行绘图,如果OpenVG不提供某些效果(即模糊),则可能会使用OpenGL进行某些效果。
现在,我想在没有模拟器的情况下在我的桌面上开发(参见 this question ).因此,我认为我只需使用P/Invoke导入OpenVG,这非常容易,因为OpenVG人员将他们的常量制作成了真正的枚举,并且通过过程C API,它很好地转换成了面向对象的形式(图形类用于绘图和Path、Paint、Stroke和Image对象)。我也设法开始了 differently named DLLs and entry points
第二
不,不是。使用EGL 1.3(随OpenGL ES 2.0的PowerVR Windows仿真SDK提供)创建OpenGL ES 2.0曲面与我尝试的任何OpenVG实现都不兼容。其中一些需要传统的OpenGL(AmanithVG GLE),PowerVR提供的EGL版本不支持OpenVG。大多数实现甚至没有EGL,并使用一些奇怪的函数来初始化上下文——所有这些都假设已经创建了OpenGL上下文。OpenGL,不是OpenGL ES。唉。
我唯一能使用的是AmanithVG SRE,它对于软件实现来说非常快,不依赖于OpenGL或EGL。它可以工作,但对于实时动画来说仍然太慢了。
最后,问题是:
或者我应该尝试在桌面上使用传统的OpenGL 2.0实现吗?但他们通常也不提供EGL。我不想有两个初始化层(EGL和WGL)。还是我应该?
注意:这不是一个。NET问题,因为没有问题也是一样的。网。
我在这个网站上找到了OpenGLES 2.0和其他版本的闭源OpenGL ES模拟器,同时寻找我遇到的另一个问题的解决方案:
http://www.malideveloper.com/developer-resources/tools/opengl-es-20-emulator.php
它是闭源的,但似乎你可以将其用于你的开发目的。