HolographicQuadLayer Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma textura retida para o sistema exibir em um local especificado na parte superior do conteúdo renderizado principal do aplicativo.
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
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 Fall Creators Update (introduzida na 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v5.0)
|
Comentários
Uma camada quad é uma textura que o compositor holográfico do sistema renderizará em nome do aplicativo em um local específico no mundo. Isso permite que o compositor visualize diretamente a partir dessa textura quad ao produzir a imagem composta final, melhorando a qualidade do texto e permitindo conteúdo mundial de menor resolução. Ao contrário do buffer de fundo do modo imediato da camada primária, que deve ser preenchido em cada quadro, as camadas quad são mantidas. Uma vez adicionada a um determinado HolographicCamera, cada camada quad continuará a ser renderizada em seu local especificado na parte superior do buffer de fundo da camada primária desse quadro até que a camada quad seja movida, atualizada ou removida.
Para exibir camadas quad, um aplicativo cria as instâncias holographicQuadLayer necessárias e as adiciona à lista quadLayers mutável de um HolographicCamera. Para sincronizar uma atualização de camada quad retida com um determinado quadro holográfico de modo imediato, um aplicativo solicita uma instância holographicQuadLayerUpdateParameters desse quadro chamando HolographicFrame.GetQuadLayerUpdateParameters. Todas as atualizações solicitadas nessa instância do HolographicQuadLayerUpdateParameters serão aplicadas a partir desse quadro.
Os aplicativos podem posicionar camadas quad em um modo estacionário ou modo relativo à exibição, o que afeta como eles são posicionados em quadros futuros se não forem movidos explicitamente:
- Para um quadrante estacionário, o aplicativo chama UpdateLocationWithStationaryMode para especificar a posição espacial e a orientação no mundo em que uma camada quad deve aparecer. Isso define um plano, juntamente com o tamanho 2D do quadriciclo nesse plano centralizado em torno da posição especificada.
- Para um quad relativo à exibição, o aplicativo chama UpdateLocationWithDisplayRelativeMode para especificar a posição espacial e a orientação em coordenadas do mundo em relação à exibição.
As camadas quad são renderizadas na ordem especificada usando o algoritmo do pintor, inteiramente sobre a camada primária. Nenhum teste de profundidade é feito durante a renderização. Um aplicativo que move um quad na frente de outro pode reordenar os quadriciclos na lista de camadas sem precisar recarregar os buffers de textura. Um aplicativo que só deseja renderizar camadas quad, por exemplo, durante o carregamento de cenas, pode desabilitar totalmente a camada primária definindo IsPrimaryLayerEnabled como false.
Se um aplicativo não precisar mais de uma camada quad, ele poderá desabilitar essa camada removendo-a da câmera, o que permite que o sistema recupere os buffers de conteúdo alocados para ele. Se o aplicativo souber que é feito permanentemente com uma camada, ele pode fechá-lo completamente.
Observe que os objetos HolographicQuadLayer podem usar e reter recursos baseados em dispositivo. É melhor criar um HolographicQuadLayer uma vez e reutilizá-lo o máximo possível, em vez de criá-los e descartá-los , por exemplo, sempre que um menu é criado. Os objetos HolographicQuadLayer devem ser descartados e recriados em cenários de perda de dispositivo Direct3D.
Construtores
HolographicQuadLayer(Size) |
Cria uma nova camada quad com um tamanho de textura especificado, usando um formato de pixel padrão de DXGI_FORMAT_B8G8R8A8_UNORM. |
HolographicQuadLayer(Size, DirectXPixelFormat) |
Cria uma nova camada quad com um tamanho de textura e um formato de pixel especificados. |
Propriedades
PixelFormat |
O formato de pixel para a textura que apoiará essa camada quad. |
Size |
O tamanho em pixels da textura que apoiará essa camada quad. |
Métodos
Close() |
Fecha uma camada quad, recuperando todos os recursos do sistema associados. |
Dispose() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. |