reckfellENGINE

OpenXRApiExtension

Делает API OpenXR доступным для ReckfellExtension.

На этой странице
class OpenXRApiExtensionReckfellSharpНаследует RefCounted

Делает API OpenXR доступным для ReckfellExtension.

OpenXRApiExtension делает OpenXR доступным для ReckfellExtension. Он предоставляет API OpenXR для ReckfellExtension через метод OpenXRApiExtension.GetInstanceProcAddr и экземпляр OpenXR через OpenXRApiExtension.GetInstance. Он также предоставляет методы для запроса статуса инициализации OpenXR и вспомогательные методы для простоты использования API с ReckfellExtension.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

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

OpenXRApiExtensionКонструктор
# OpenXRApiExtension
C#
public OpenXRApiExtension();

Методы54

ActionGetHandleulong
# ActionGetHandle
C#
public ulong ActionGetHandle(Rid action);

Возвращает соответствующий дескриптор OpenXR XrAction для указанного RID действия.

Параметры
ИмяТипПо умолчанию
actionRid—
Возвращает ulong
BeginDebugLabelRegionvoid
# BeginDebugLabelRegion
C#
public void BeginDebugLabelRegion(string labelName);

Начинает новую область отладочной метки, эта метка будет сообщаться в отладочных сообщениях для любых вызовов, следующих за этим, пока не будет вызван OpenXRApiExtension.EndDebugLabelRegion. Отладочные метки могут быть сложены.

Параметры
ИмяТипПо умолчанию
labelNamestring—
CanRenderbool
# CanRender
C#
public bool CanRender();

Возвращает true, если OpenXR инициализирован для рендеринга с областью просмотра XR.

Возвращает bool
EndDebugLabelRegionvoid
# EndDebugLabelRegion
C#
public void EndDebugLabelRegion();

Отмечает конец области отладочной метки. Удаляет последнюю область отладочной метки, добавленную вызовом OpenXRApiExtension.BeginDebugLabelRegion.

FindActionRid
# FindAction
C#
public Rid FindAction(string name, Rid actionSet);

Возвращает Rid соответствующей Action совпадающее название, факультативно ограниченное конкретным набором действий.

Параметры
ИмяТипПо умолчанию
namestring—
actionSetRid—
Возвращает Rid
GetErrorStringstring
# GetErrorString
C#
public string GetErrorString(ulong result);

Возвращает строку ошибки для указанного XrResult(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html).

Параметры
ИмяТипПо умолчанию
resultulong—
Возвращает string
GetHandTrackerulong
# GetHandTracker
C#
public ulong GetHandTracker(int handIndex);

Возвращает соответствующий дескриптор XRHandTrackerEXT для заданного значения индекса руки.

Параметры
ИмяТипПо умолчанию
handIndexint—
Возвращает ulong
GetInstanceulong
# GetInstance
C#
public ulong GetInstance();

Возвращает XrInstance(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html), созданный во время инициализации API OpenXR.

Возвращает ulong
GetInstanceProcAddrulong
# GetInstanceProcAddr
C#
public ulong GetInstanceProcAddr(string name);

Возвращает функцию указателя функции OpenXR с указанным именем, отбрасывает на целое. Если функции с указанным именем не существует, метод возвращает 0. Примечание: openxr/util.h содержит полезные макросхемы для приобретения функций OpenXR, например RECKFELLEXTENSION_INIT_XR_FUNC_V(xrCreateAction).

Параметры
ИмяТипПо умолчанию
namestring—
Возвращает ulong
GetNextFrameTimelong
# GetNextFrameTime
C#
public long GetNextFrameTime();

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

Возвращает long
GetOpenxrVersionulong
# GetOpenxrVersion
C#
public ulong GetOpenxrVersion();

Возвращает версию OpenXR, которая была инициализирована. Действительна только после создания экземпляра OpenXR. См. XR_MAKE_VERSION(https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_MAKE_VERSION) для получения информации о том, как рассчитывается версия.

Возвращает ulong
GetPlaySpaceulong
# GetPlaySpace
C#
public ulong GetPlaySpace();

Возвращает игровое пространство, которое представляет собой XrSpace(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html), приведенное к целому числу.

Возвращает ulong
GetPredictedDisplayTimelong
# GetPredictedDisplayTime
C#
public long GetPredictedDisplayTime();

Возвращает прогнозируемое время отображения текущего кадра.

Возвращает long
GetPrimaryViewCountuint
# GetPrimaryViewCount
C#
public uint GetPrimaryViewCount();

Возвращает просмотр для основного портала.

Возвращает uint
GetProjectionLayerulong
# GetProjectionLayer
C#
public ulong GetProjectionLayer();

Возвращает указатель на структуру XrCompositionLayerProjection состояния рендеринга. Примечание: Этот метод следует вызывать только из потока рендеринга.

Возвращает ulong
GetRenderStateZFardouble
# GetRenderStateZFar
C#
public double GetRenderStateZFar();

Возвращает значение дальней границы усеченной пирамиды видимости камеры. Примечание: Это доступно только в потоке рендеринга.

Возвращает double
GetRenderStateZNeardouble
# GetRenderStateZNear
C#
public double GetRenderStateZNear();

Возвращает ближнее граничное значение пирамиды видимости камеры. Примечание: Это доступно только в потоке рендеринга.

Возвращает double
GetSessionulong
# GetSession
C#
public ulong GetSession();

Возвращает сеанс OpenXR, который представляет собой XrSession(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html), преобразованный в целое число.

Возвращает ulong
GetSupportedSwapchainFormatslong[]
# GetSupportedSwapchainFormats
C#
public long[] GetSupportedSwapchainFormats();

Возвращает массив поддерживаемых форматов цепочки обмена.

Возвращает long[]
GetSwapchainFormatNamestring
# GetSwapchainFormatName
C#
public string GetSwapchainFormatName(long swapchainFormat);

Возвращает имя указанного формата цепочки обмена.

Параметры
ИмяТипПо умолчанию
swapchainFormatlong—
Возвращает string
GetSystemIdulong
# GetSystemId
C#
public ulong GetSystemId();

Возвращает идентификатор (ID) системы, который представляет собой XrSystemId(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html), преобразованный в целое число.

Возвращает ulong
GetViewConfigurationulong
# GetViewConfiguration
C#
public ulong GetViewConfiguration();

Возвращает тип конфигурации вида, который представляет собой XrViewConfigurationType(https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrViewConfigurationType.html) преобразованный в целое число.

Возвращает ulong
GetViewCountuint
# GetViewCount
C#
public uint GetViewCount();

Возвращает количество вида. Обычно это два, по одному для каждого глаза, но может отличаться в зависимости от конфигурации вида.

Возвращает uint
InsertDebugLabelvoid
# InsertDebugLabel
C#
public void InsertDebugLabel(string labelName);

Вставляет метку отладки, эта метка отображается в любом отладочном сообщении, полученном в результате последующих вызовов OpenXR, пока не будет вызван любой из методов OpenXRApiExtension.BeginDebugLabelRegion, OpenXRApiExtension.EndDebugLabelRegion или OpenXRApiExtension.InsertDebugLabel.

Параметры
ИмяТипПо умолчанию
labelNamestring—
IsEnvironmentBlendModeAlphaSupportedOpenXRApiExtension.OpenXRAlphaBlendModeSupport
# IsEnvironmentBlendModeAlphaSupported
C#
public OpenXRApiExtension.OpenXRAlphaBlendModeSupport IsEnvironmentBlendModeAlphaSupported();

Возвращает OpenXRApiExtension.OpenXRAlphaBlendModeSupport, указывающий, поддерживается ли XRInterface.EnvironmentBlendModeEnum.AlphaBlend на самом деле, эмулируется или не поддерживается вообще.

Возвращает OpenXRApiExtension.OpenXRAlphaBlendModeSupport
IsInitializedbool
# IsInitialized
C#
public bool IsInitialized();

Возвращает true, если OpenXR инициализирован.

Возвращает bool
IsRunningbool
# IsRunning
C#
public bool IsRunning();

Возвращает true, если OpenXR запущен (xrBeginSession был успешно вызван и цепочки обмена были созданы).

Возвращает bool
OpenxrIsEnabledbool
# OpenxrIsEnabled
C#
public static bool OpenxrIsEnabled(bool checkRunInEditor);

Возвращает true, если OpenXR включен.

Параметры
ИмяТипПо умолчанию
checkRunInEditorbool—
Возвращает bool
OpenxrSwapchainAcquirevoid
# OpenxrSwapchainAcquire
C#
public void OpenxrSwapchainAcquire(ulong swapchain);

Получает изображение предоставленной цепочки обмена.

Параметры
ИмяТипПо умолчанию
swapchainulong—
OpenxrSwapchainCreateulong
# OpenxrSwapchainCreate
C#
public ulong OpenxrSwapchainCreate(ulong createFlags, ulong usageFlags, long swapchainFormat, uint width, uint height, uint sampleCount, uint arraySize);

Возвращает указатель на новую цепочку обмена, созданную с использованием предоставленных параметров.

Параметры
ИмяТипПо умолчанию
createFlagsulong—
usageFlagsulong—
swapchainFormatlong—
widthuint—
heightuint—
sampleCountuint—
arraySizeuint—
Возвращает ulong
OpenxrSwapchainFreevoid
# OpenxrSwapchainFree
C#
public void OpenxrSwapchainFree(ulong swapchain);

Уничтожает предоставленную цепочку обмена и освобождает ее из памяти.

Параметры
ИмяТипПо умолчанию
swapchainulong—
OpenxrSwapchainGetImageRid
# OpenxrSwapchainGetImage
C#
public Rid OpenxrSwapchainGetImage(ulong swapchain);

Возвращает RID предоставленного образа цепочки обмена.

Параметры
ИмяТипПо умолчанию
swapchainulong—
Возвращает Rid
OpenxrSwapchainGetSwapchainulong
# OpenxrSwapchainGetSwapchain
C#
public ulong OpenxrSwapchainGetSwapchain(ulong swapchain);

Возвращает дескриптор XrSwapchain предоставленной цепочки обмена.

Параметры
ИмяТипПо умолчанию
swapchainulong—
Возвращает ulong
OpenxrSwapchainReleasevoid
# OpenxrSwapchainRelease
C#
public void OpenxrSwapchainRelease(ulong swapchain);

Выпускает образ предоставленной цепочки обмена.

Параметры
ИмяТипПо умолчанию
swapchainulong—
RegisterCompositionLayerProvider2 перегрузки · Есть устаревшие
# RegisterCompositionLayerProvider · 1/2
C#
public void RegisterCompositionLayerProvider(OpenXRExtensionWrapper extension);

Регистрирует указанное расширение в качестве поставщика слоя композиции. Примечание: Этот метод нельзя вызвать после начала сессии OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
# RegisterCompositionLayerProvider · 2/2
C#
public void RegisterCompositionLayerProvider(OpenXRExtensionWrapperExtension extension);

Регистрирует указанное расширение в качестве поставщика слоя композиции. Примечание: Этот метод нельзя вызвать после начала сессии OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapperExtension—
RegisterFrameInfoExtensionvoid
# RegisterFrameInfoExtension
C#
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.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
RegisterProjectionLayerExtensionvoid
# RegisterProjectionLayerExtension
C#
public void RegisterProjectionLayerExtension(OpenXRExtensionWrapper extension);

Регистрирует указанное расширение как изменяющее XrCompositionLayerProjection с помощью виртуального метода OpenXRExtensionWrapper._set_projection_layer_and_get_next_pointer. Примечание: Этот метод нельзя вызвать после начала сессии OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
RegisterProjectionViewsExtension2 перегрузки · Есть устаревшие
# RegisterProjectionViewsExtension · 1/2
C#
public void RegisterProjectionViewsExtension(OpenXRExtensionWrapper extension);

Регистрирует указанное расширение в качестве поставщика дополнительных структур данных для проекционных представлений. Примечание: Этот метод нельзя вызвать после начала сеанса OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
# RegisterProjectionViewsExtension · 2/2
C#
public void RegisterProjectionViewsExtension(OpenXRExtensionWrapperExtension extension);

Регистрирует указанное расширение в качестве поставщика дополнительных структур данных для проекционных представлений. Примечание: Этот метод нельзя вызвать после начала сеанса OpenXR. Однако его можно вызвать в OpenXRExtensionWrapper._OnSessionCreated.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapperExtension—
SetEmulateEnvironmentBlendModeAlphaBlendvoid
# SetEmulateEnvironmentBlendModeAlphaBlend
C#
public void SetEmulateEnvironmentBlendModeAlphaBlend(bool enabled);

Если установлено значение true, загружается расширение OpenXR, способное эмулировать режим смешивания XRInterface.EnvironmentBlendModeEnum.AlphaBlend.

Параметры
ИмяТипПо умолчанию
enabledbool—
SetObjectNamevoid
# SetObjectName
C#
public void SetObjectName(long objectType, ulong objectHandle, string objectName);

Задайте имя объекта OpenXR, используемого для отладочного вывода. object_type должен быть допустимым перечислением OpenXR XrObjectType, а object_handle должен быть допустимым дескриптором объекта OpenXR.

Параметры
ИмяТипПо умолчанию
objectTypelong—
objectHandleulong—
objectNamestring—
SetRenderRegionvoid
# SetRenderRegion
C#
public void SetRenderRegion(Rect2I renderRegion);

Устанавливает область рендеринга на render_region, переопределяя прямоугольник обычной цели рендеринга.

Параметры
ИмяТипПо умолчанию
renderRegionRect2I—
SetVelocityDepthTexturevoid
# SetVelocityDepthTexture
C#
public void SetVelocityDepthTexture(Rid renderTarget);

Устанавливает цель рендеринга текстуры глубины скорости.

Параметры
ИмяТипПо умолчанию
renderTargetRid—
SetVelocityTargetSizevoid
# SetVelocityTargetSize
C#
public void SetVelocityTargetSize(Vector2I targetSize);

Устанавливает целевой размер текстур скорости и глубины скорости.

Параметры
ИмяТипПо умолчанию
targetSizeVector2I—
SetVelocityTexturevoid
# SetVelocityTexture
C#
public void SetVelocityTexture(Rid renderTarget);

Устанавливает цель рендеринга текстуры скорости.

Параметры
ИмяТипПо умолчанию
renderTargetRid—
UnregisterCompositionLayerProvider2 перегрузки · Есть устаревшие
# UnregisterCompositionLayerProvider · 1/2
C#
public void UnregisterCompositionLayerProvider(OpenXRExtensionWrapper extension);

Отменяет регистрацию указанного расширения в качестве поставщика слоя композиции. Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
# UnregisterCompositionLayerProvider · 2/2
C#
public void UnregisterCompositionLayerProvider(OpenXRExtensionWrapperExtension extension);

Отменяет регистрацию указанного расширения в качестве поставщика слоя композиции. Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapperExtension—
UnregisterFrameInfoExtensionvoid
# UnregisterFrameInfoExtension
C#
public void UnregisterFrameInfoExtension(OpenXRExtensionWrapper extension);

Отменяет регистрацию указанного расширения как изменяющего информацию о кадре. Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
UnregisterProjectionLayerExtensionvoid
# UnregisterProjectionLayerExtension
C#
public void UnregisterProjectionLayerExtension(OpenXRExtensionWrapper extension);

Отменяет регистрацию указанного расширения как изменяющего XrCompositionLayerProjection. Примечание: Эту функцию нельзя вызвать, пока сессия OpenXR еще запущена.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
UnregisterProjectionViewsExtension2 перегрузки · Есть устаревшие
# UnregisterProjectionViewsExtension · 1/2
C#
public void UnregisterProjectionViewsExtension(OpenXRExtensionWrapper extension);

Отменяет регистрацию указанного расширения в качестве поставщика дополнительных структур данных для проекционных представлений. Примечание: Эту функцию нельзя вызвать, пока сеанс OpenXR еще запущен.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapper—
# UnregisterProjectionViewsExtension · 2/2
C#
public void UnregisterProjectionViewsExtension(OpenXRExtensionWrapperExtension extension);

Отменяет регистрацию указанного расширения в качестве поставщика дополнительных структур данных для проекционных представлений. Примечание: Эту функцию нельзя вызвать, пока сеанс OpenXR еще запущен.

Параметры
ИмяТипПо умолчанию
extensionOpenXRExtensionWrapperExtension—
UpdateMainSwapchainSizevoid
# UpdateMainSwapchainSize
C#
public void UpdateMainSwapchainSize();

Запросите рекомендуемое разрешение у среды выполнения OpenXR и обновите размер основной цепочки обменов, если он изменился.

XRResultbool
# XRResult
C#
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), преобразованный в строку, с указанной дополнительной информацией.

Параметры
ИмяТипПо умолчанию
resultulong—
formatstring—
argsReckfell.Collections.Array—
Возвращает bool

OpenXRApiExtension.OpenXRAlphaBlendModeSupport

ЗначениеОписание
Emulating = 2

Означает, что XRInterface.EnvironmentBlendModeEnum.AlphaBlend эмулируется.

None = 0

Означает, что XRInterface.EnvironmentBlendModeEnum.AlphaBlend вообще не поддерживается.

#Открой XR_ALpha_BLEND_MODE_SUPPORT_REAL

Real = 1

Означает, что XRInterface.EnvironmentBlendModeEnum.AlphaBlend действительно поддерживается.

Открой XR_ALpha_BLEND_MODE_SUPPORT_EMLATING

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.