Поделиться через


HolographicQuadLayer Класс

Определение

Представляет сохраненную текстуру для отображения системой в указанном расположении поверх основного отображаемого содержимого приложения.

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
Наследование
Object Platform::Object IInspectable HolographicQuadLayer
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 Fall Creators Update (появилось в 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v5.0)

Комментарии

Четырехслойный слой — это текстура, которую голографический композитор системы отрисовывает от имени приложения в определенном расположении в мире. Это позволяет композитатору напрямую выполнять выборку из этой четырехугольной текстуры при создании окончательного составного изображения, повышая качество текста и позволяя использовать содержимое мира с низким разрешением. В отличие от буфера обратного режима непосредственного режима основного слоя, который должен заполняться каждым кадром, четырехслойные слои сохраняются. После добавления к заданной камере HolographicCamera каждый четырехслойный слой будет продолжать отрисовывать в указанном расположении поверх буфера основного слоя этого кадра до тех пор, пока четырехуровневый слой не будет перемещен, обновлен или удален.

Для отображения четырех слоев приложение создает необходимые экземпляры HolographicQuadLayer и добавляет их в изменяемый список QuadLayers HolographicCamera. Чтобы синхронизировать сохраненное обновление четырехслойного слоя с заданным голографическим кадром немедленного режима, приложение запрашивает экземпляр HolographicQuadLayerUpdateParameters из этого кадра , вызывая HolographicFrame.GetQuadLayerUpdateParameters. Все обновления, запрошенные для этого экземпляра HolographicQuadLayerUpdateParameters, будут применяться начиная с этого кадра.

Приложения могут размещать четырехслойные слои в стационарном режиме или относительном режиме отображения, что влияет на их положение в будущих кадрах, если они не перемещаются явным образом:

  • Для стационарного четырехугольника приложение вызывает UpdateLocationWithStationaryMode , чтобы указать пространственное положение и ориентацию в мире, в котором должен отображаться четырехуровневый слой. Это определяет плоскость вместе с объемным размером четырехугольника в этой плоскости по центру вокруг указанной позиции.
  • Для относительного дисплея четырехугольника приложение вызывает UpdateLocationWithDisplayRelativeMode , чтобы указать пространственное положение и ориентацию в мировых координатах относительно дисплея.

Четырехслойные слои отрисовываются в указанном порядке с помощью алгоритма художника, полностью поверх основного слоя. При отрисовке не выполняется углубленное тестирование. Приложение, которое перемещает один четырехугольник перед другим, может изменить порядок четырехугольников в списке слоев без необходимости заполнять буферы текстуры. Приложение, которое хочет отображать только четыре слоя, например во время загрузки сцен, может полностью отключить основной слой, задав для параметра IsPrimaryLayerEnabled значение false.

Если приложению больше не нужен четырехуровневый слой, он может отключить его, удалив его с камеры, что позволяет системе освободить буферы содержимого, выделенные для него. Если приложение знает, что это окончательно сделано с помощью слоя, оно может закрыть его полностью.

Обратите внимание, что объекты HolographicQuadLayer могут использовать и сохранять ресурсы на основе устройств. Лучше создать HolographicQuadLayer один раз и повторно использовать его как можно больше, а не создавать и удалять их - например, каждый раз при создании меню. Объекты HolographicQuadLayer должны быть удалены и повторно созданы в сценариях потери устройств Direct3D.

Конструкторы

HolographicQuadLayer(Size)

Создает новый четырехуровневый слой с указанным размером текстуры, используя формат пикселей по умолчанию DXGI_FORMAT_B8G8R8A8_UNORM.

HolographicQuadLayer(Size, DirectXPixelFormat)

Создает новый четырехуровневый слой с указанным размером текстуры и форматом пикселей.

Свойства

PixelFormat

Формат пикселей для текстуры, которая будет использовать этот четырехслойный элемент.

Size

Размер текстуры в пикселях, которая будет использовать этот четырехслойный элемент.

Методы

Close()

Закрывает четырехуровневый слой, высвобождая все связанные системные ресурсы.

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

Применяется к