1

是否有基于 WebGL 的 OpenVG 标准的 JavaScript 实现?

我很清楚我们可以在浏览器中渲染矢量图形,我只是好奇是否有人真的设法使用 WebGL 渲染 SVG,无论是否基于 OpenVG 标准。如果它不存在,启动一个项目会有用吗?

4

3 回答 3

1

下面是一些用于在 OpenGL 1.x 中解析和渲染 SVG 的 C 代码:https ://github.com/tnovelli/vsprite 。它可能不是你要找的。我们使用 Stencil Buffer 技巧来绘制 2D 多边形。对于 3D,我想您必须渲染到屏幕外缓冲区并将其纹理映射到 3D 对象上。(为什么不将 SVG 预渲染为光栅图像?因为我们的对象是易碎和可变形的。)

我正在考虑将其移植到 Javascript+WebGL。浏览器的 XML/SVG/CSS 解析功能应该可以省去很多工作,但是模板技巧可能会带来挑战。这对我来说是一个次要的项目,所以如果其他人想尝试什么,不要屏住呼吸,去做吧!:)

于 2012-03-25T14:05:48.480 回答
1

好吧,这些答案都没有明确回答这个问题。@tom 表明是的,我们可以使用简洁的模板技巧在 webgl 画布上渲染矢量图形。然而,这并不是 OpenVG 规范的完整实现,我很好奇有多少 OpenVG 规范可以通过这种方式实现。所以得出结论:

目前没有实现,但似乎没有特别的需求。

于 2012-04-11T09:18:32.680 回答
0

由于 WebGL 可以很好地与任何其他 HTML(5) 技术混合使用,因此您已经可以将其混合使用。唯一的问题是您将无法使用其深度缓冲区将 SVG 与 WebGL 混合 - 例如放置在 3D 世界 (WebGL) 中的标识 (SVG)。但也许这正是你喜欢做的事?

于 2012-03-18T10:51:37.460 回答