我目前正在研究使用OpenGL和OpenGL ES从SVG文件渲染矢量图形的可能性.我打算以Windows和Android为目标.我理想的解决方案是拥有一个最小的C库,从给定的SVG文件生成多边形三角剖分.然后,这将生成标准的OpenGL或OpenGL ES调用,并在重绘时使用显示列表或vbo进行优化.我只需绘制一个显示列表,在翻译和旋转后绘制矢量图像,允许我将其与其他OpenGL调用混合.
到目前为止,我看到建议首先使用QT或开罗. - 这不是一个选项,因为我希望在没有膨胀库的情况下管理我自己的OpenGL上下文(在我想要实现的内容中).这也不适合Android.
第二个选项是使用渲染到纹理的库.虽然这可能适用于静态矢量图形,但对于经常进行缩放和旋转的游戏来说,它不是一种有效或可行的选择.
第三,有可能使用OpenVG.OpenVG规范(ShivaVG等)有一些开源实现,但我还没有找到一个能够在运行时从给定的SVG文件生成适当的OpenVG调用的库,我无法看到如何优化它我们可能希望使用显示列表或vbo.
这三种方法都受到限制.我认为最有希望的选择是在没有其他解决方案的情况下使用OpenVG实现.所以我的问题是,是否有任何图书馆可以做我想要的,或接近我想要的?如果没有,有什么理由不是吗?尝试从头开始这样做会更好吗?
有没有办法加载矢量图形文件,然后使用OpenGL渲染它?这是一个模糊的问题,因为我对矢量图形的文件格式知之甚少.不过我知道SVG.
将它转换为栅格并不是很有用,因为我想实时放大对象.
我想在OpenGL游戏中使用矢量图形.我想使用矢量图形因为它们可以廉价地缩放而不会降低质量.
当然,绘图应该是硬件加速的,所以我不想在软件中绘制纹理.
现在我想知道这样做的库是否已经存在.是否有一个库,可以加载一些矢量图形格式并使用OpenGL显示它?