C# 在三维平面上绘制文本sharpDX
我找了又找不到办法。 我想在HoloLens应用程序中使用sharpDX将标签附加到3D对象 有人知道怎么做吗 谢谢 编辑: 所以我决定将文本转换为图像,然后将其作为纹理放在由两个三角形网格组成的平面上。 所以现在我尝试了以下代码: 但是不能包含引用,我如何修复它C# 在三维平面上绘制文本sharpDX,c#,sharpdx,hololens,C#,Sharpdx,Hololens,我找了又找不到办法。 我想在HoloLens应用程序中使用sharpDX将标签附加到3D对象 有人知道怎么做吗 谢谢 编辑: 所以我决定将文本转换为图像,然后将其作为纹理放在由两个三角形网格组成的平面上。 所以现在我尝试了以下代码: 但是不能包含引用,我如何修复它 谢谢几年前我用SharpDx写了一个游戏,下面是它的视频: 如果我理解正确,你想要3D文本,就像我用来解释游戏元素的文本一样?如果是这样,您可能会从以下源代码中获得一些想法: protected override bool dra
谢谢几年前我用SharpDx写了一个游戏,下面是它的视频: 如果我理解正确,你想要3D文本,就像我用来解释游戏元素的文本一样?如果是这样,您可能会从以下源代码中获得一些想法:
protected override bool draw(Camera camera, DrawingReason drawingReason, ShadowMap shadowMap)
{
if (drawingReason != DrawingReason.Normal)
return true;
camera.UpdateEffect(Effect);
foreach (var item in Items)
{
Effect.World = Matrix.BillboardRH(item.Target.Position + item.GetOffset(item), camera.Position, -camera.Up, camera.Front);
Effect.DiffuseColor = item.GetColor(item);
SpriteBatch.Begin(SpriteSortMode.Deferred, Effect.GraphicsDevice.BlendStates.NonPremultiplied, null, Effect.GraphicsDevice.DepthStencilStates.DepthRead, null, Effect.Effect);
SpriteBatch.DrawString(Font, item.Text, Vector2.Zero, Color.Black, 0, Font.MeasureString(item.Text) / 2, item.GetSize(item), 0, 0);
SpriteBatch.End();
}
Effect.GraphicsDevice.SetDepthStencilState(Effect.GraphicsDevice.DepthStencilStates.Default);
Effect.GraphicsDevice.SetBlendState(Effect.GraphicsDevice.BlendStates.Opaque);
return true;
}
完整的游戏代码是开源的,可在以下位置获得:
是否有一个选项可以在没有工具箱的情况下执行此操作?我正在尝试用文本渲染3D窗口。