Freigeben über


HolographicQuadLayer Klasse

Definition

Stellt eine beibehaltene Textur dar, die für das System an einer angegebenen Position auf dem primären gerenderten Inhalt der App angezeigt werden soll.

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
Vererbung
Object Platform::Object IInspectable HolographicQuadLayer
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 Fall Creators Update (eingeführt in 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v5.0)

Hinweise

Eine Quad-Ebene ist eine Textur, die der holografische Compositor des Systems im Auftrag der App an einem bestimmten Ort in der Welt rendert. Dies ermöglicht es dem Compositor, bei der Erstellung des endgültigen zusammengesetzten Bilds direkt aus dieser Quad-Textur zu samplen, wodurch die Textqualität verbessert und Weltinhalte mit geringerer Auflösung ermöglicht werden. Im Gegensatz zum Rückpuffer im unmittelbaren Modus der primären Ebene, der bei jedem Frame gefüllt werden muss, bleiben Quad-Ebenen erhalten. Nach dem Hinzufügen zu einer bestimmten HolographicCamera wird jede Quad-Ebene weiterhin an ihrer angegebenen Position über dem primären Hintergrundpuffer dieses Frames gerendert, bis die Quad-Ebene verschoben, aktualisiert oder entfernt wird.

Zum Anzeigen von Quad-Ebenen erstellt eine App die erforderlichen HolographicQuadLayer-Instanzen und fügt sie einer veränderlichen QuadLayers-Liste von HolographicCamera hinzu. Um ein beibehaltenes Quad-Layer-Update mit einem bestimmten holografischen Frame im unmittelbaren Modus zu synchronisieren, fordert eine App eine HolographicQuadLayerUpdateParameters-instance aus diesem Frame an, indem HolographicFrame.GetQuadLayerUpdateParameters aufgerufen wird. Alle für diesen HolographicQuadLayerUpdateParameters-instance angeforderten Updates gelten ab diesem Frame.

Apps können vier Ebenen im stationären Modus oder im relativen Anzeigemodus positionieren, was sich darauf auswirkt, wie sie in zukünftigen Frames positioniert werden, wenn sie nicht explizit verschoben werden:

  • Bei einem stationären Quad ruft die App UpdateLocationWithStationaryMode auf, um die räumliche Position und Ausrichtung in der Welt anzugeben, in der eine Quad-Ebene angezeigt werden soll. Dies definiert eine Ebene zusammen mit der 2D-Größe des Quads in dieser Ebene, die um die angegebene Position zentriert ist.
  • Für ein displayrelatives Quad ruft die App UpdateLocationWithDisplayRelativeMode auf, um die räumliche Position und Ausrichtung in Weltkoordinaten relativ zur Anzeige anzugeben.

Quad-Ebenen werden in der angegebenen Reihenfolge mit dem Algorithmus des Malers gerendert, vollständig auf der primären Ebene. Beim Rendern werden keine Tiefentests durchgeführt. Eine App, die ein Quad vor ein anderes verschiebt, kann die Quads in der Ebenenliste neu anordnen, ohne die Texturpuffer erneut auffüllen zu müssen. Eine App, die nur Quad-Ebenen rendern möchte, z. B. beim Laden von Szenen, kann die primäre Ebene vollständig deaktivieren, indem Sie IsPrimaryLayerEnabled auf false festlegen.

Wenn eine App keine Quad-Ebene mehr benötigt, kann sie diese Ebene deaktivieren, indem sie sie von der Kamera entfernt, sodass das System die ihr zugewiesenen Inhaltspuffer zurückgewinnen kann. Wenn die App weiß, dass sie dauerhaft mit einer Ebene ausgeführt wird, kann sie sie vollständig schließen.

Beachten Sie, dass HolographicQuadLayer-Objekte gerätebasierte Ressourcen verwenden und beibehalten können. Es ist besser, einen HolographicQuadLayer einmal zu erstellen und so weit wie möglich wiederzuverwenden, anstatt sie zu erstellen und zu verwerfen - beispielsweise jedes Mal, wenn ein Menü angezeigt wird. HolographicQuadLayer-Objekte sollten in Direct3D-Geräteverlustszenarien entfernt und neu erstellt werden.

Konstruktoren

HolographicQuadLayer(Size)

Erstellt eine neue Quad-Ebene mit einer angegebenen Texturgröße unter Verwendung eines Standardpixelformats von DXGI_FORMAT_B8G8R8A8_UNORM.

HolographicQuadLayer(Size, DirectXPixelFormat)

Erstellt eine neue Quad-Ebene mit einer angegebenen Texturgröße und einem angegebenen Pixelformat.

Eigenschaften

PixelFormat

Das Pixelformat für die Textur, die diese Quad-Ebene zurückgibt.

Size

Die Größe der Textur in Pixel, die diese Quad-Ebene zurückgibt.

Methoden

Close()

Schließt eine Quad-Ebene und übernimmt alle zugeordneten Systemressourcen.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

Gilt für: