令我惊讶的是,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