These types are used to hide platform-specific details when passing
render device, OS, and texture data to the API.
The benefit of having these wrappers versus platform-specific API functions is
that they allow game glue code to be portable. A typical example is an
engine that has multiple back ends, say GL and D3D. Portable code that calls
these back ends may also use LibOVR. To do this, back ends can be modified
to return portable types such as ovrTexture and ovrRenderAPIConfig.
These types are used to hide platform-specific details when passing render device, OS, and texture data to the API.
The benefit of having these wrappers versus platform-specific API functions is that they allow game glue code to be portable. A typical example is an engine that has multiple back ends, say GL and D3D. Portable code that calls these back ends may also use LibOVR. To do this, back ends can be modified to return portable types such as ovrTexture and ovrRenderAPIConfig.