C++ 如何从Skia路径几何体获取网格?

C++ 如何从Skia路径几何体获取网格?,c++,skia,C++,Skia,我试图找出如何使Skia从路径几何体生成网格。我已经检查了SkPath::dump,SkPath::writeToMemory,SkPath::serialize,但是它们似乎都输出路径内容,而不是网格 注意:所谓网格,我指的是路径形状的细分所产生的三角形网格,可在以后使用非矢量图形API(如OpenGL/Vulkan)进行渲染。类似于“ID2D1Geometry::Tessellate”输出的东西,我已经检查了从路径到三角形的镶嵌关系,在将视频缓冲区推入GPU管道之前,在渲染步骤中会自动进行。

我试图找出如何使Skia从路径几何体生成网格。我已经检查了
SkPath::dump
SkPath::writeToMemory
SkPath::serialize
,但是它们似乎都输出路径内容,而不是网格


注意:所谓网格,我指的是路径形状的细分所产生的三角形网格,可在以后使用非矢量图形API(如OpenGL/Vulkan)进行渲染。类似于“ID2D1Geometry::Tessellate”输出的东西,我已经检查了从路径到三角形的镶嵌关系,在将视频缓冲区推入GPU管道之前,在渲染步骤中会自动进行。所以你们不必担心,图书馆会自己照顾自己的。除非您希望显式地获得细分步骤的输出,但我怀疑该API是否为用户导出。可能对库用户隐藏了它。

“除非您想显式地获得细分步骤的输出”-嗯,这正是我想要的。我几乎可以肯定,应该有一个合适的方法来实现这一点,因为提取网格似乎是一个常见的场景,当需要重复单独渲染大量路径时,重新生成矢量图形是昂贵的,而将它们预渲染为纹理是不可能的。然后,请务必查看上面引用的链接。这里描述的Tesselator依次调用PathToTriangles():您正在寻找GrTesselator:@SimonMourier是的,但这些方法似乎不是的一部分,也没有明显的方式间接利用它们。