我目前正在尝试将一些用户界面添加到我的全息应用程序中。
我的整个应用程序都是使用DirectX编写的,我不会使用Unity。
该应用程序的主要功能是在全息空间中显示3D体积,并与手势(例如旋转和平移)进行交互。
改进交互的一个想法是创建一些浮动窗口,以添加高级操作和功能。
在完美的世界里,我希望能够在我的浮动窗口(它们将是浮动平面或广告牌)中绘制一个使用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函数。
你们有什么想法吗?
提前感谢。