【问题标题】:How to obtain mesh from Skia path geometry?如何从 Skia 路径几何中获取网格?
【发布时间】:2020-02-08 12:09:59
【问题描述】:

我正在尝试弄清楚如何让 Skia 从路径几何中生成网格。我检查了SkPath::dumpSkPath::writeToMemorySkPath::serialize,但是它们似乎都输出路径内容而不是网格。

注意:我所说的网格是指由路径形状的镶嵌产生的三角形网格,以后可以使用非矢量图形 API(例如 OpenGL / Vulkan)进行渲染。类似于ID2D1Geometry::Tessellate 的输出。

【问题讨论】:

标签: c++ skia


【解决方案1】:

正如我检查过的Skia source,从路径到三角形的镶嵌在渲染步骤中自动进行,然后将视频缓冲区推入 GPU 管道。所以你不必担心,图书馆会照顾自己。除非您想明确获得镶嵌步骤的输出,但我怀疑此 API 是否为用户导出。可能它对图书馆用户隐藏。

【讨论】:

  • “除非你想明确获得镶嵌步骤的输出”——嗯,这正是我想要的。而且我几乎可以肯定应该有一种正确的方法来做到这一点,因为提取网格似乎是一种常见的情况,当一个人需要重复地分别渲染大量路径并且重新生成矢量图形是昂贵的,而将它们预渲染到纹理时已经超出了问题。
  • 那么无论如何,看看上面引用的链接。那里描述的 Tesselator 又在这里调用 PathToTriangles():github.com/google/skia/blob/master/src/gpu/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-25
  • 1970-01-01
  • 2020-03-14
相关资源
最近更新 更多