令我驚訝的是,Google對此沒有多少提示。在Direct3D中填充文字輪廓
我正在使用Direct3D創建一個簡單的CAD查看器。由於它的本質(縮放功能等),文本元素必須是矢量文本;我不能使用帶紋理的多邊形。
我已經調用gdi32.dll來獲取字形並從直線和貝塞爾曲線創建相當合理的文本輪廓,但是文本不是固定的,並且點不一定是固定的。圍起來的字符(b,p,o,A等)實際上有不止一個單獨的輪廓。
因此,我不能只將點投射到頂點緩衝區並指定基本類型。
我現在所能做的就是將輪廓渲染爲線條,從而產生出神聖的文字。
任何人都可以提出一個很好的策略,用它們的輪廓呈現固體矢量文本嗎?
請注意,我將貝塞爾曲線插入點列表(很多人使用着色器/巫術)。
Direct3D 9通過SlimDX,但我似乎無法找到D3DXCreateText在它的任何地方;我假設他們沒有暴露它。 – 2011-05-12 10:30:09
根據源代碼,SlimDX通過[Mesh.CreateText()](http://slimdx.mdxinfo.com/latestdocs/Default.aspx?topic=Class+Reference%2fSlimDX.Direct3D9+Namespace%2fMesh+Class)公開它。 – 2011-05-13 04:24:50