2017-03-27 2 views
3

J'essaie actuellement d'ajouter une interface utilisateur dans mon application holographique. Toute l'application est écrite avec DirectX et je n'utiliserai pas Unity. La fonctionnalité principale de l'application est d'afficher un volume 3D dans l'espace holographique et d'interagir avec le geste, comme la rotation et la translation.Utilisation de XAML dans l'espace holographique

Une idée pour améliorer l'interaction, est de créer des fenêtres flottantes, d'ajouter des manipulations avancées, et des fonctionnalités.

Dans un monde parfait, je voudrais dessiner dans mes fenêtres flottantes (qui seraient plan flottant, ou panneau d'affichage) une interface écrite en XAML ou directement par un certain Windows.UI.XAML.UIElement.

Donc, fondamentalement, je veux renderer XAML dans un élément Texture2D, et j'ai essayé de faire ce qui suit:

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

Le problème est, RenderTargetBitmap.RenderAsync bloque undefinitly, et je ne suis pas en mesure d'atteindre la fonction GetPixelsAsync.

Avez-vous une idée?

Merci d'avance.

+0

ne pouvez pas reproduire votre problème. Quelle est votre 'PanoramicImage'? J'ai testé avec une grille. Et peut-être plus d'informations sur l'environnement. –

+0

Mon PanoramicImage est aussi une grille, mais l'utilisez-vous dans un espace holographique? (UWP avec dispositif Hololens) – Barklight

Répondre

2

Je travaille depuis longtemps sur ma propre application uwp hololens dans directx. Nous avons résolu le "problème d'interface utilisateur" avec direct2d ... vous pouvez rendre une texture selfmade à un objectif de rendu, puis l'utiliser comme shaderressource pour un élément d'interface utilisateur. Je pense que même avec le répartiteur, il n'y a "pas" de moyen de rendre les contrôles xaml dans l'espace holographique. Donc je pense que vous devrez écrire vos propres éléments d'interface utilisateur.

la façon dont Microsoft décrit, la seule façon d'utiliser les contrôles XAML pour basculer entre l'espace holographique et le mode normal:

Microsoft Viewmodel

+1

Sans solution, j'ai fait la même chose ... Merci quand même: D – Barklight