You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should consider providing an ABI stable C interface for CesiumOmniverse, inspired by the concept of Omniverse Native Interfaces (ONI) as described in the Carbonite SDK documentation.
The initial skeleton of this can be found in CesiumOmniverse.h. We would need to think of an elegant way to pass through USD objects such as UsdStageRefPtr and GfMatrix4d.
This also affects the Python API which is essentially just a wrapper of the C++ API. If we switched to a C API we could consider switching from pybind11 to cython.
The text was updated successfully, but these errors were encountered:
Mostly fixed in #44. The functions exported from CesiumOmniverse.dll are now exported as C functions.
However CesiumOmniverse.h still includes some pxr headers, which means that you can't include CesiumOmniverse.h in a C project. pxr::UsdStageRefPtr in particular is a problem because it's a somewhat complicated typedef and not easy to forward declare.
We should consider providing an ABI stable C interface for CesiumOmniverse, inspired by the concept of Omniverse Native Interfaces (ONI) as described in the Carbonite SDK documentation.
The initial skeleton of this can be found in CesiumOmniverse.h. We would need to think of an elegant way to pass through USD objects such as
UsdStageRefPtr
andGfMatrix4d
.This also affects the Python API which is essentially just a wrapper of the C++ API. If we switched to a C API we could consider switching from pybind11 to cython.
The text was updated successfully, but these errors were encountered: