1

我一直在xrCreateSpatialGraphNodeSpaceMSFT上得到未解析的外部符号,此时我已经用尽了我可以尝试使这件事工作的东西。我无论如何都不会称自己为经验丰富的程序员,所以我想我很可能只是在做一些非常愚蠢的事情。我会非常感谢任何形式的回应。

我尝试使用 NuGet 包中的标头和 Microsoft/OpenXR-MixedReality 上的标头。

至于加载器,我已经尝试过 NuGet 包之一,并自己从 KhronosGroup/OpenXR-SDK 构建了一个。

我对这些都没有任何运气(再次,这可能是因为我做错了什么或者只是愚蠢..)。

这里的代码仅供参考。

xr::SpaceHandle target_space{};
XrSpatialGraphNodeSpaceCreateInfoMSFT* create_info{};
create_info->type = XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT;
guid_ g_data{ code };
create_info->nodeType = XR_SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT;
memcpy(create_info->nodeId, (void*)g_data.Data1, sizeof(guid_));
xrCreateSpatialGraphNodeSpaceMSFT(m_session.Get(), create_info, target_space.Put());
4

1 回答 1

1

xrCreateSpatialGraphNodeSpaceMSFT不是核心 OpenXR 功能(如MSFT后缀所示)。您必须首先检索指向它的函数指针,如此所述。

此外,请确保在创建 OpenXR 实例时启用相应的扩展 ( XR_MSFT_spatial_graph_bridge ),如此所述。

最后,请注意您的代码片段中还有一个错误:您的create_info结构被声明为指针,但从未分配。最好将其声明为堆栈上的本地分配。

于 2021-09-15T17:37:12.483 回答