gpt4 book ai didi

c# - 在全息空间中使用 XAML

转载 作者:行者123 更新时间:2023-11-30 16:44:50 25 4
gpt4 key购买 nike

我目前正在尝试将一些用户界面添加到我的全息应用程序中。我的整个应用程序都是用 DirectX 编写的,我不会使用 Unity。

该应用程序的主要功能是在全息空间中显示 3D 体积,并与旋转和平移等手势进行交互。

改进交互的一个想法是创建一些 float 窗口,添加高级操作和功能。

在一个完美的世界中,我想在我的 float 窗口(可以是 float 平面或广告牌)中绘制一个用 XAML 编写的界面或由某些 Windows.UI.XAML.UIElement 直接呈现的界面。

所以基本上我想将 XAML 元素渲染到 Texture2D 中,并且我尝试执行以下操作:

await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
{
RenderTargetBitmap renderBitmap = new RenderTargetBitmap();
await renderBitmap.RenderAsync(PanoramicImage);
XamlPixel = await renderBitmap.GetPixelsAsync();
});

问题是,RenderTargetBitmap.RenderAsync 不确定地阻塞,我无法访问 GetPixelsAsync 函数。

你们有什么想法吗?

提前致谢。

最佳答案

我在 directx 中自己的 uwp hololens 应用程序上工作了很长一段时间。我们用 direct2d 解决了“UI 问题”...您可以将自制纹理渲染到渲染目标,然后将其用作 ui 元素的 shaderressourceview。我认为即使有了调度程序,“现在”也没有办法在全息空间中呈现 xaml 控件。所以我认为您需要编写自己的 ui 元素。

微软描述的方式,使用xaml控件的唯一方法是在全息空间和普通模式之间切换:

Microsoft Viewmodel

关于c# - 在全息空间中使用 XAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43050733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com