OpenXRApiExtension
Делает API OpenXR доступным для ReckfellExtension.
Делает API OpenXR доступным для ReckfellExtension.
OpenXRApiExtension делает OpenXR доступным для ReckfellExtension. Он предоставляет API OpenXR для ReckfellExtension через метод OpenXRApiExtension.GetInstanceProcAddr и экземпляр OpenXR через OpenXRApiExtension.GetInstance.
Он также предоставляет методы для запроса статуса инициализации OpenXR и вспомогательные методы для простоты использования API с ReckfellExtension.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OpenXRApiExtensionКонструктор
public OpenXRApiExtension();Методы54
ActionGetHandleulong
public ulong ActionGetHandle(Rid action);Возвращает соответствующий дескриптор OpenXR XrAction для указанного RID действия.
| Имя | Тип | По умолчанию |
|---|---|---|
action | Rid | — |
ulongBeginDebugLabelRegionvoid
public void BeginDebugLabelRegion(string labelName);Начинает новую область отладочной метки, эта метка будет сообщаться в отладочных сообщениях для любых вызовов, следующих за этим, пока не будет вызван OpenXRApiExtension.EndDebugLabelRegion. Отладочные метки могут быть сложены.
| Имя | Тип | По умолчанию |
|---|---|---|
labelName | string | — |
CanRenderbool
public bool CanRender();Возвращает true, если OpenXR инициализирован для рендеринга с областью просмотра XR.
boolEndDebugLabelRegionvoid
public void EndDebugLabelRegion();Отмечает конец области отладочной метки. Удаляет последнюю область отладочной метки, добавленную вызовом OpenXRApiExtension.BeginDebugLabelRegion.
FindActionRid
public Rid FindAction(string name, Rid actionSet);Возвращает Rid соответствующей Action совпадающее название, факультативно ограниченное конкретным набором действий.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
actionSet | Rid | — |
RidGetErrorStringstring
public string GetErrorString(ulong result);Возвращает строку ошибки для указанного XrResult(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html).
| Имя | Тип | По умолчанию |
|---|---|---|
result | ulong | — |
stringGetHandTrackerulong
public ulong GetHandTracker(int handIndex);Возвращает соответствующий дескриптор XRHandTrackerEXT для заданного значения индекса руки.
| Имя | Тип | По умолчанию |
|---|---|---|
handIndex | int | — |
ulongGetInstanceulong
public ulong GetInstance();Возвращает XrInstance(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html), созданный во время инициализации API OpenXR.
ulongGetInstanceProcAddrulong
public ulong GetInstanceProcAddr(string name);Возвращает функцию указателя функции OpenXR с указанным именем, отбрасывает на целое. Если функции с указанным именем не существует, метод возвращает 0.
Примечание: openxr/util.h содержит полезные макросхемы для приобретения функций OpenXR, например RECKFELLEXTENSION_INIT_XR_FUNC_V(xrCreateAction).
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
ulongGetNextFrameTimelong
public long GetNextFrameTime();Возвращает прогнозируемое время отображения следующего кадра.
longGetOpenxrVersionulong
public ulong GetOpenxrVersion();Возвращает версию OpenXR, которая была инициализирована. Действительна только после создания экземпляра OpenXR. См. XR_MAKE_VERSION(https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_MAKE_VERSION) для получения информации о том, как рассчитывается версия.
ulongGetPlaySpaceulong
public ulong GetPlaySpace();Возвращает игровое пространство, которое представляет собой XrSpace(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html), приведенное к целому числу.
ulongGetPredictedDisplayTimelong
public long GetPredictedDisplayTime();Возвращает прогнозируемое время отображения текущего кадра.
longGetPrimaryViewCountuint
public uint GetPrimaryViewCount();Возвращает просмотр для основного портала.
uintGetProjectionLayerulong
public ulong GetProjectionLayer();Возвращает указатель на структуру XrCompositionLayerProjection состояния рендеринга.
Примечание: Этот метод следует вызывать только из потока рендеринга.
ulongGetRenderStateZFardouble
public double GetRenderStateZFar();Возвращает значение дальней границы усеченной пирамиды видимости камеры. Примечание: Это доступно только в потоке рендеринга.
doubleGetRenderStateZNeardouble
public double GetRenderStateZNear();Возвращает ближнее граничное значение пирамиды видимости камеры. Примечание: Это доступно только в потоке рендеринга.
doubleGetSessionulong
public ulong GetSession();Возвращает сеанс OpenXR, который представляет собой XrSession(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html), преобразованный в целое число.
ulongGetSupportedSwapchainFormatslong[]
public long[] GetSupportedSwapchainFormats();Возвращает массив поддерживаемых форматов цепочки обмена.
long[]GetSwapchainFormatNamestring
public string GetSwapchainFormatName(long swapchainFormat);Возвращает имя указанного формата цепочки обмена.
| Имя | Тип | По умолчанию |
|---|---|---|
swapchainFormat | long | — |
stringGetSystemIdulong
public ulong GetSystemId();Возвращает идентификатор (ID) системы, который представляет собой XrSystemId(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html), преобразованный в целое число.
ulongGetViewConfigurationulong
public ulong GetViewConfiguration();Возвращает тип конфигурации вида, который представляет собой XrViewConfigurationType(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrViewConfigurationType.html) преобразованный в целое число.
ulongGetViewCountuint
public uint GetViewCount();Возвращает количество вида. Обычно это два, по одному для каждого глаза, но может отличаться в зависимости от конфигурации вида.
uintInsertDebugLabelvoid
public void InsertDebugLabel(string labelName);Вставляет метку отладки, эта метка отображается в любом отладочном сообщении, полученном в результате последующих вызовов OpenXR, пока не будет вызван любой из методов OpenXRApiExtension.BeginDebugLabelRegion, OpenXRApiExtension.EndDebugLabelRegion или OpenXRApiExtension.InsertDebugLabel.
| Имя | Тип | По умолчанию |
|---|---|---|
labelName | string | — |
IsEnvironmentBlendModeAlphaSupportedOpenXRApiExtension.OpenXRAlphaBlendModeSupport
public OpenXRApiExtension.OpenXRAlphaBlendModeSupport IsEnvironmentBlendModeAlphaSupported();Возвращает OpenXRApiExtension.OpenXRAlphaBlendModeSupport, указывающий, поддерживается ли XRInterface.EnvironmentBlendModeEnum.AlphaBlend на самом деле, эмулируется или не поддерживается вообще.
OpenXRApiExtension.OpenXRAlphaBlendModeSupportIsInitializedbool
public bool IsInitialized();Возвращает true, если OpenXR инициализирован.
boolIsRunningbool
public bool IsRunning();Возвращает true, если OpenXR запущен (xrBeginSession был успешно вызван и цепочки обмена были созданы).
boolOpenxrIsEnabledbool
public static bool OpenxrIsEnabled(bool checkRunInEditor);Возвращает true, если OpenXR включен.
| Имя | Тип | По умолчанию |
|---|---|---|
checkRunInEditor | bool | — |
boolOpenxrSwapchainAcquirevoid
public void OpenxrSwapchainAcquire(ulong swapchain);Получает изображение предоставленной цепочки обмена.
| Имя | Тип | По умолчанию |
|---|---|---|
swapchain | ulong | — |
OpenxrSwapchainCreateulong
public ulong OpenxrSwapchainCreate(ulong createFlags, ulong usageFlags, long swapchainFormat, uint width, uint height, uint sampleCount, uint arraySize);Возвращает указатель на новую цепочку обмена, созданную с использованием предоставленных параметров.
| Имя | Тип | По умолчанию |
|---|---|---|
createFlags | ulong | — |
usageFlags | ulong | — |
swapchainFormat | long | — |
width | uint | — |
height | uint | — |
sampleCount | uint | — |
arraySize | uint | — |
ulongOpenxrSwapchainFreevoid
public void OpenxrSwapchainFree(ulong swapchain);Уничтожает предоставленную цепочку обмена и освобождает ее из памяти.
| Имя | Тип | По умолчанию |
|---|---|---|
swapchain | ulong | — |
OpenxrSwapchainGetImageRid
public Rid OpenxrSwapchainGetImage(ulong swapchain);Возвращает RID предоставленного образа цепочки обмена.
| Имя | Тип | По умолчанию |
|---|---|---|
swapchain | ulong | — |
RidOpenxrSwapchainGetSwapchainulong
public ulong OpenxrSwapchainGetSwapchain(ulong swapchain);Возвращает дескриптор XrSwapchain предоставленной цепочки обмена.
| Имя | Тип | По умолчанию |
|---|---|---|
swapchain | ulong | — |
ulongOpenxrSwapchainReleasevoid
public void OpenxrSwapchainRelease(ulong swapchain);Выпускает образ предоставленной цепочки обмена.
| Имя | Тип | По умолчанию |
|---|---|---|
swapchain | ulong | — |
RegisterCompositionLayerProvider2 перегрузки · Есть устаревшие
public void RegisterCompositionLayerProvider(OpenXRExtensionWrapper extension);Регистрирует указанное расширение в качестве поставщика слоя композиции.
Примечание: Этот метод нельзя вызвать после начала сессии OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
public void RegisterCompositionLayerProvider(OpenXRExtensionWrapperExtension extension);Регистрирует указанное расширение в качестве поставщика слоя композиции.
Примечание: Этот метод нельзя вызвать после начала сессии OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapperExtension | — |
RegisterFrameInfoExtensionvoid
public void RegisterFrameInfoExtension(OpenXRExtensionWrapper extension);Регистрирует указанное расширение как изменяющее информацию о кадре с помощью виртуальных методов OpenXRExtensionWrapper._set_frame_wait_info_and_get_next_pointer, OpenXRExtensionWrapper._set_view_locate_info_and_get_next_pointer или OpenXRExtensionWrapper._set_frame_end_info_and_get_next_pointer.
Примечание: Этот метод нельзя вызвать после начала сеанса OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
RegisterProjectionLayerExtensionvoid
public void RegisterProjectionLayerExtension(OpenXRExtensionWrapper extension);Регистрирует указанное расширение как изменяющее XrCompositionLayerProjection с помощью виртуального метода OpenXRExtensionWrapper._set_projection_layer_and_get_next_pointer.
Примечание: Этот метод нельзя вызвать после начала сессии OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
RegisterProjectionViewsExtension2 перегрузки · Есть устаревшие
public void RegisterProjectionViewsExtension(OpenXRExtensionWrapper extension);Регистрирует указанное расширение в качестве поставщика дополнительных структур данных для проекционных представлений.
Примечание: Этот метод нельзя вызвать после начала сеанса OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
public void RegisterProjectionViewsExtension(OpenXRExtensionWrapperExtension extension);Регистрирует указанное расширение в качестве поставщика дополнительных структур данных для проекционных представлений.
Примечание: Этот метод нельзя вызвать после начала сеанса OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapperExtension | — |
SetEmulateEnvironmentBlendModeAlphaBlendvoid
public void SetEmulateEnvironmentBlendModeAlphaBlend(bool enabled);Если установлено значение true, загружается расширение OpenXR, способное эмулировать режим смешивания XRInterface.EnvironmentBlendModeEnum.AlphaBlend.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetObjectNamevoid
public void SetObjectName(long objectType, ulong objectHandle, string objectName);Задайте имя объекта OpenXR, используемого для отладочного вывода. object_type должен быть допустимым перечислением OpenXR XrObjectType, а object_handle должен быть допустимым дескриптором объекта OpenXR.
| Имя | Тип | По умолчанию |
|---|---|---|
objectType | long | — |
objectHandle | ulong | — |
objectName | string | — |
SetRenderRegionvoid
public void SetRenderRegion(Rect2I renderRegion);Устанавливает область рендеринга на render_region, переопределяя прямоугольник обычной цели рендеринга.
| Имя | Тип | По умолчанию |
|---|---|---|
renderRegion | Rect2I | — |
SetVelocityDepthTexturevoid
public void SetVelocityDepthTexture(Rid renderTarget);Устанавливает цель рендеринга текстуры глубины скорости.
| Имя | Тип | По умолчанию |
|---|---|---|
renderTarget | Rid | — |
SetVelocityTargetSizevoid
public void SetVelocityTargetSize(Vector2I targetSize);Устанавливает целевой размер текстур скорости и глубины скорости.
| Имя | Тип | По умолчанию |
|---|---|---|
targetSize | Vector2I | — |
SetVelocityTexturevoid
public void SetVelocityTexture(Rid renderTarget);Устанавливает цель рендеринга текстуры скорости.
| Имя | Тип | По умолчанию |
|---|---|---|
renderTarget | Rid | — |
UnregisterCompositionLayerProvider2 перегрузки · Есть устаревшие
public void UnregisterCompositionLayerProvider(OpenXRExtensionWrapper extension);Отменяет регистрацию указанного расширения в качестве поставщика слоя композиции. Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
public void UnregisterCompositionLayerProvider(OpenXRExtensionWrapperExtension extension);Отменяет регистрацию указанного расширения в качестве поставщика слоя композиции. Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapperExtension | — |
UnregisterFrameInfoExtensionvoid
public void UnregisterFrameInfoExtension(OpenXRExtensionWrapper extension);Отменяет регистрацию указанного расширения как изменяющего информацию о кадре. Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
UnregisterProjectionLayerExtensionvoid
public void UnregisterProjectionLayerExtension(OpenXRExtensionWrapper extension);Отменяет регистрацию указанного расширения как изменяющего XrCompositionLayerProjection.
Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
UnregisterProjectionViewsExtension2 перегрузки · Есть устаревшие
public void UnregisterProjectionViewsExtension(OpenXRExtensionWrapper extension);Отменяет регистрацию указанного расширения в качестве поставщика дополнительных структур данных для проекционных представлений. Примечание: Эту функцию нельзя вызвать, пока сеанс OpenXR еще запущен.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapper | — |
public void UnregisterProjectionViewsExtension(OpenXRExtensionWrapperExtension extension);Отменяет регистрацию указанного расширения в качестве поставщика дополнительных структур данных для проекционных представлений. Примечание: Эту функцию нельзя вызвать, пока сеанс OpenXR еще запущен.
| Имя | Тип | По умолчанию |
|---|---|---|
extension | OpenXRExtensionWrapperExtension | — |
UpdateMainSwapchainSizevoid
public void UpdateMainSwapchainSize();Запросите рекомендуемое разрешение у среды выполнения OpenXR и обновите размер основной цепочки обменов, если он изменился.
XRResultbool
public bool XRResult(ulong result, string format, Reckfell.Collections.Array args);Возвращает true, если предоставленный XrResult(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html) (приведенный к целому числу) успешен. В противном случае возвращает false и печатает XrResult(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html), преобразованный в строку, с указанной дополнительной информацией.
| Имя | Тип | По умолчанию |
|---|---|---|
result | ulong | — |
format | string | — |
args | Reckfell.Collections.Array | — |
boolOpenXRApiExtension.OpenXRAlphaBlendModeSupport
| Значение | Описание |
|---|---|
Emulating = 2 | Означает, что |
None = 0 | Означает, что #Открой XR_ALpha_BLEND_MODE_SUPPORT_REAL |
Real = 1 | Означает, что Открой XR_ALpha_BLEND_MODE_SUPPORT_EMLATING |