在没有中间栅格的情况下在OpenGL中显示SVG

tim*_*day 28 c++ opengl graphics svg

我有一些简单的SVG图片(图标和字形的东西),我想在OpenGL应用程序中显示(使用Qt在Debian上使用C++开发).

显而易见的解决方案是使用ImageMagick库 SVG 转换为光栅图像,纹理将它们映射到一些合适的多边形(或者只使用旧的glDrawPixels).

但是,我想知道是否有任何东西可以将SVG直接转换为一系列OpenGL调用并使用OpenGL的线条,多边形等进行渲染.任何人都知道有什么可以做到这一点?

sho*_*osh 12

Qt可以做到这一点.
QSvgRenderer可以使用一个SVG并将其绘制在一个QGLWidget
它可能你需要摆弄paintEvent()abit,如果你想在除了SVG之外的QGLWidget上绘制任何其他东西.


dan*_*nio 5

SVGL似乎解决了这个问题,但已经蛰伏了好几年.你仍然可以在那里找到一些有价值的代码.