Condividi tramite


HolographicQuadLayer Classe

Definizione

Rappresenta una trama mantenuta per il sistema da visualizzare in una posizione specificata sopra il contenuto primario dell'app.

public ref class HolographicQuadLayer sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(Windows.Graphics.Holographic.IHolographicQuadLayerFactory, 327680, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class HolographicQuadLayer final : IClosable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Graphics.Holographic.IHolographicQuadLayerFactory), 327680, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class HolographicQuadLayer : System.IDisposable
function HolographicQuadLayer(size, pixelFormat)
Public NotInheritable Class HolographicQuadLayer
Implements IDisposable
Ereditarietà
Object Platform::Object IInspectable HolographicQuadLayer
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 Fall Creators Update (è stato introdotto in 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v5.0)

Commenti

Un livello quad è una trama che il compositore olografico del sistema eseguirà il rendering per conto dell'app in una posizione specifica del mondo. Ciò consente al compositore di eseguire direttamente l'esempio da tale trama quad quando si produce l'immagine composita finale, migliorando la qualità del testo e consentendo il contenuto mondiale a risoluzione inferiore. A differenza del buffer back in modalità immediata del livello primario, che deve essere riempito ogni frame, i livelli quad vengono mantenuti. Dopo aver aggiunto a una determinata HolographicCamera, ogni livello quad continuerà a eseguire il rendering nella posizione specificata sopra il buffer principale del livello primario di tale frame fino a quando il livello quad non viene spostato, aggiornato o rimosso.

Per visualizzare i livelli quad, un'app crea le istanze di HolographicQuadLayer necessarie e le aggiunge a un elenco QuadLayers modificabile di HolographicCamera. Per sincronizzare un aggiornamento a livello quad conservato con un determinato frame olografico in modalità immediata, un'app richiede un'istanza di HolographicQuadLayerUpdateParameters da tale frame chiamando HolographicFrame.GetQuadLayerUpdateParameters. Tutti gli aggiornamenti richiesti in tale istanza di HolographicQuadLayerUpdateParameters verranno applicati a partire da tale frame.

Le app possono posizionare livelli quad in modalità stazioni o modalità relativa alla visualizzazione, che influisce sul modo in cui vengono posizionati in fotogrammi futuri se non spostati in modo esplicito:

  • Per un quad stazioni, l'app chiama UpdateLocationWithStationaryMode per specificare la posizione spaziale e l'orientamento nel mondo in cui dovrebbe essere visualizzato un livello quad. Questo definisce un piano, insieme alle dimensioni 2D del quad in tale piano centrato sulla posizione specificata.
  • Per un quad relativo alla visualizzazione, l'app chiama UpdateLocationWithDisplayRelativeMode per specificare la posizione spaziale e l'orientamento nelle coordinate mondiali relative alla visualizzazione.

I livelli quad vengono visualizzati nell'ordine specificato usando l'algoritmo del pittore, completamente sopra il livello primario. Durante il rendering non viene eseguito alcun test di profondità. Un'app che sposta un quad davanti a un altro può riordinare i quad nell'elenco dei livelli senza dover riempire i buffer di trama. Un'app che desidera eseguire solo il rendering di livelli quad, ad esempio durante il caricamento delle scene, può disabilitare interamente il livello primario impostando IsPrimaryLayerEnabled su false.

Se un'app non ha più bisogno di un livello quad, può disabilitare tale livello rimuovendolo dalla fotocamera, che consente al sistema di recuperare i buffer di contenuto allocati. Se l'app lo conosce in modo permanente con un livello, può chiuderla completamente.

Si noti che gli oggetti HolographicQuadLayer possono usare e conservare le risorse basate su dispositivo. È meglio creare un HolographicQuadLayer una volta e usarlo di nuovo il più possibile, anziché crearli e disponirli, ad esempio ogni volta che viene visualizzato un menu. Gli oggetti HolographicQuadLayer devono essere eliminati e ricreati negli scenari di perdita dei dispositivi Direct3D.

Costruttori

HolographicQuadLayer(Size)

Crea un nuovo livello quad con dimensioni di trama specificate, usando un formato pixel predefinito di DXGI_FORMAT_B8G8R8A8_UNORM.

HolographicQuadLayer(Size, DirectXPixelFormat)

Crea un nuovo livello quad con una dimensione e un formato pixel specificati.

Proprietà

PixelFormat

Formato pixel per la trama che restituirà questo livello quad.

Size

Dimensioni in pixel della trama che restituirà questo livello quad.

Metodi

Close()

Chiude un livello quad, recuperando tutte le risorse di sistema associate.

Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

Si applica a