问题标签 [openvg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
25627 浏览

openvg - OpenVG 实现?

存在哪些 OpenVG 实现?

它们各自的优缺点是什么?

我正在寻找的是一种高度稳定、快速的渲染实现,它仍在积极维护和开发中。

0 投票
1 回答
4226 浏览

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

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

现在我想在没有模拟器的情况下在我的桌面上开发(见这个问题)。所以我想我只是用 P/Invoke 导入 OpenVG,这很容易,因为 OpenVG 人把他们的常量变成了真正的枚举,虽然是一个过程 C API,它很好地转换成一个面向对象的形式(带有一个 Graphics 类用于绘图和 Path、Paint、Stroke 和 Image 对象)。我还设法使用不同名称的 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 Support Package 将 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 的问题是一样的。

0 投票
1 回答
1797 浏览

graphics - 显卡供应商是否支持 OpenVG?

nVidia、AMD 和 Intel 的驱动程序是否支持 OpenVG?以后会支持吗?我对某种硬件加速文本和 SVG 渲染非常感兴趣。

问候,

0 投票
2 回答
6037 浏览

opengl-es - 在 PC 上运行简单的 GLES/EGL/OpenVG 应用程序的最简单方法是什么?

我认为这应该很容易,但是……天哪!供应商给了我一个相当简单的演示程序,旨在展示一些琐碎的图标动画。目标平台是具有加速 OpenGL ES 2.0/OpenVG 和 EGL 支持的嵌入式系统 (MX51)。

不幸的是,该演示还对一些 Qt 实用程序类(例如,QImage)有一个恼人的依赖。如果不是因为这种依赖,我会在目标上编译/运行这个东西。但我不喜欢仅仅为了运行这个小演示而交叉编译 Qt 的想法——即使嵌入式板上有足够的空间。

我希望我能够在标准(ish)Ubuntu 10.04 VM 上运行该应用程序,并开始按照这些指示来实现它。实际上,我在10 小时后设法编译了所有内容并获得了演示程序的可运行二进制文件。但是,当我运行它时,我看到以下错误:

叹。经过所有的努力,这不是我想看到的。这似乎比它应该的要困难得多。

嵌入式 GL 环境真的如此贫民窟,以至于我必须使用一些供应商提供的 BSP 在目标上运行甚至是微不足道的程序吗?这个家伙的问题没有得到回应来看,我认为答案可能是肯定的。但我什至不关心加速(还)。我只想在台式 PC 上运行最愚蠢的 OpenGL ES 2/OpenVG 程序并了解它的外观。(PC 运行的是 Linux 还是 Windows 对我来说并不重要。)人们是如何做这种事情的?

0 投票
1 回答
1503 浏览

iphone - CoreGraphics 替代方案?

我正在寻找一个 2D 渲染库来替代 iPhone 上的 CoreGraphics。我的应用程序中的所有内容都非常动态,这使得将内容拆分为图层和动画相当困难。

我对 OpenGL 非常熟悉,这就是现在实现渲染的方式。不过,如果我不必担心 OpenGL 中的低级内容,一切都会变得更容易扩展,开发也会变得更快(而且我的代码看起来会更整洁 :D)。

我更喜欢 C++ 而不是 Objective-C,所以如果你知道任何用于渲染的 C++ 库,那就太好了。我也可以使用 C。基于路径的渲染,如 CoreGraphics 或 JavaScript Canvas API,将是有益的。Cairo 可以在 iPhone 上运行吗?

我实际上一直在开发自己的 2D 渲染器,即使我最终没有在我的应用程序中使用它,我也可能会发布它,因为我喜欢使用它。iPhone 是否支持模板缓冲区?我可以进行多边形三角剖分,或者使用 GLU 的 tesselation 库,但从长远来看,模板缓冲区可以保证大量工作。

编辑:另外,我之前在这个应用程序中使用 CoreGraphics 实现了渲染,但它并没有达到我想要的帧速率。我做了一些研究,人们建议不要将 CoreGraphics 用于不断重绘屏幕的事情。有人说 CoreGraphics 不使用 GPU,也有人说这是某种缓存机制。从那以后我一直避免它。

0 投票
1 回答
319 浏览

openvg - 英特尔凌动是否支持 OpenVG?

前段时间,我读到了一些关于“新一代”英特尔凌动硬件实现 OpenVG 的传闻。现在我找不到任何证据。那么,至少有一些计划支持 OpenVG 吗?

0 投票
1 回答
1172 浏览

openvg - 使用 OpenVG 旋转文本

我注意到文本渲染例程完全忽略了 OpenVG 转换矩阵,我无法使用 VG_GLYPH_ORIGIN 手动控制文本位置parameter

我正在实现一个场景图。我发现我可以使用vgGetMatrix、读取当前 3x3 变换矩阵的组件 6 和 7,并VG_GLYPH_ORIGIN在绘制文本块之前设置为这些值。这允许将文本原点放置在正确的位置,但文本仍始终从左到右显示。

但是,这本身并不能让我进行任何其他转换,比如旋转。我很惊讶,因为文本是由VGPaths 组成的,它们确实被转换了

有没有办法让 OpenVG 1.1 旋转文本?或者我应该忽略 OpenVG 1.1 中的文本功能并手动将字母绘制为单独的路径或图像?

0 投票
3 回答
31413 浏览

opengl - EGL和OpenGL有什么关系?

我正在为 Go 中的 OpenVG 和 OpenGL|ES 编写一个实现,它们依赖Khronos EGL API,我猜应该是为了简化可移植性。

出于有趣和教育的原因,我正在 OpenGL ES 之上编写 OpenVG 的实现——我没有做很多渲染工作,我想了解更多关于开放 API 和实践实现定义良好的标准(更容易看看我是否得到了正确的结果)。

据我了解,EGL 提供了一个标准 API 来检索绘图上下文(或任何正确的名称),而不是使用多个操作系统提供的 API(GLX、WGL 等)之一

在此处输入图像描述

我很难相信 Khronos 会经历这样的努力并将标准 OpenGL 排除在外,但问题是,我还没有发现 OpenGL(真正的交易)如何或是否与 EGL 接口,或者它是否只是 OpenGL ES。如果 OpenGL ES 可以使用来自 EGL 的绘图上下文,那么标准 OpenGL 也可以工作吗?

我对这一切都很陌生,这就是为什么我很兴奋,但我正在做的真正项目是一个 Go 小部件工具包,它利用 OpenVG 进行绘图操作并尽可能使用硬件加速。

如果 OpenVG、OpenGL 和 OpenGL ES 依赖于 EGL,我想我的问题可以用“是”或“否”来回答。请记住,我昨晚一头扎进了这个主题。

OpenGL 是使用还是依赖于 EGL?


离题,但没有 EGL 标签。应该有吗?

0 投票
1 回答
524 浏览

blackberry - Blackberry 中的高效图像缩放

如何在 Blackberry 中有效地缩放图像 ( Bitmap/ )(如果支持硬件加速,则使用/ )。可以使用/之类的东西来实现这一目标吗?EncodedImageOpenVGOpenGLVGFieldGLField

我已经尝试过Bitmap.scaleInto(...)EncodedImage.scaleImage32(..)以及一些简单的算法(原始数据操作)。我也不能使用ZoomScreen,因为不可能(?)ZoomScreen动态更改实例的图像。

需要了解 BlackBerry 设备(例如 Torch 9800)中的默认图像查看器应用程序如何执行平滑的捏合缩放。

0 投票
1 回答
508 浏览

qt - Wince 上的 OpenVG:屏幕上没有绘制任何内容(示例应用程序 Star.exe)

有没有人成功在 wince 目标上运行 openvg 示例(star.exe)?我试过但失败了——屏幕上除了一个空的窗口外什么都没有画。以下是我为它所做的。

环境:

  • Qt 4.7.4
  • 威斯 6.0
  • 一个同时支持 OpenGL 和 OpenVG 的 SDK。(OpenVG 1.1 版)

脚步:

  1. 打开“Visual Studio 2005 命令提示符”,使用命令配置 Qt:

    /li>
  2. 为 wince 设置环境变量。
  3. 运行“nmake”
  4. 将所需的文件复制到我的目标上的同一文件夹中。下面是文件夹中的文件树:

    • 星号.exe
    • QtCored4.dll
    • QtGuid4.dll
    • QtOpenVGd4.dll
    • msvcr80d.dll
  5. /li>

结果:

窗口已创建并显示,但其中没有任何内容。内容是空的和透明的。

更新:

我试图调试这个问题,我发现应用程序 Star.exe 无法加载 OPenVG 库。
如何找出应用程序无法加载 OpenVG 库的原因?