Text (x,y,z)处的DirectX文本

Text (x,y,z)处的DirectX文本,text,directx,Text,Directx,在OpenGL中,您实际上可以使用XYZ位置绘制文本,它将以固定大小显示在该位置 如果有人玩过机械战士2,他们会用它来获得导航点。文本有一个3d位置,但它总是显示一个固定的大小。导航点实际上是空间中某一点上的一点文字 除此之外,放置3d文本的功能几乎毫无用处。。你总是希望文本是二维的,对吗 我终于找到了想要这个功能的位置。我在空间中有这些点需要指定文本信息,也就是说,我需要以固定大小绘制文本,但具有三维位置。可以从DirectX执行此操作吗?假设要在三维四元网格上渲染文本,则需要根据与摄影机的z

在OpenGL中,您实际上可以使用XYZ位置绘制文本,它将以固定大小显示在该位置

如果有人玩过机械战士2,他们会用它来获得导航点。文本有一个3d位置,但它总是显示一个固定的大小。导航点实际上是空间中某一点上的一点文字

除此之外,放置3d文本的功能几乎毫无用处。。你总是希望文本是二维的,对吗


我终于找到了想要这个功能的位置。我在空间中有这些点需要指定文本信息,也就是说,我需要以固定大小绘制文本,但具有三维位置。可以从DirectX执行此操作吗?

假设要在三维四元网格上渲染文本,则需要根据与摄影机的z距离缩放文本四元网格。精确的公式取决于您的世界->视图->屏幕变换,但通过对给定高度向量进行逆变换(例如,同质屏幕空间坐标中的(0,1,0))应该很容易计算


编辑:如果您只需要屏幕上的二维位置,请将三维位置从世界空间转换为屏幕空间

使用二维位置。但是你仍然可以使用它。D3DX还附带了一个可以将3D坐标转换为屏幕位置的工具。

不,我相信他想要的是2d文本(即叠加),其位置由3D点的像素位置决定。您是否尝试过使用文本渲染的一些示例?还有一个鼠标拾取的示例,它可以帮助您获得由3d点的像素指定的2d坐标。