【问题标题】:Vectorizing true type fonts for Direct3D向量化 Direct3D 的 True Type 字体
【发布时间】:2011-04-19 09:06:36
【问题描述】:

我正在通过 SlimDX 使用 Direct3D 来开发 AutoCAD 文件查看器。

我能想到的渲染文本的最佳方法是将文本矢量化到顶点缓冲区中,然后简单地将它们渲染为线条。

将文本渲染到纹理以映射到多边形上是不合适的,我需要一个矢量方法。

谁能告诉我如何从真正的字体中获取矢量信息?

【问题讨论】:

  • 请问为什么不适合将文本渲染成纹理?这似乎是大多数 Direct3D 程序处理文本的方式...
  • 在 AutoCAD 查看器中,用户需要能够放大,可能需要很长的距离;因此需要保留矢量化。
  • 好的。然后我认为您需要寻找一种方法来显示任意点大小(可能很大)的文本“部分”。不确定是否有一些 GDI+ 功能可以做到这一点。我认为您不应该花时间在您提出的方法上,因为它需要首先获取每个字形的轮廓,将这些曲线量化为直线段,然后将它们镶嵌成三角形以便 Direct3D 对其进行摸索。你会很痛苦。
  • 正确的方法是找到一种方法,将放大倍数(应该只是屏幕上显示的部分)的文本“绘制”到纹理中。

标签: text fonts directx direct3d truetype


【解决方案1】:

想出了一个调用 gdi32.dll 的 GetGlyphOutline() 函数的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    相关资源
    最近更新 更多