我有一些简单的SVG图片(图标和字形的东西),我想在OpenGL应用程序中显示(使用Qt在Debian上使用C++开发).
显而易见的解决方案是使用ImageMagick库将 SVG 转换为光栅图像,纹理将它们映射到一些合适的多边形(或者只使用旧的glDrawPixels).
但是,我想知道是否有任何东西可以将SVG直接转换为一系列OpenGL调用并使用OpenGL的线条,多边形等进行渲染.任何人都知道有什么可以做到这一点?
Qt可以做到这一点.
QSvgRenderer可以使用一个SVG并将其绘制在一个QGLWidget
它可能你需要摆弄paintEvent()
abit,如果你想在除了SVG之外的QGLWidget上绘制任何其他东西.
SVGL似乎解决了这个问题,但已经蛰伏了好几年.你仍然可以在那里找到一些有价值的代码.