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
Note: This update includes significant changes to the OpenVR driver interface to simplify driver development and support backward compatibility. Drivers will need to update to at least this version to continue to be supported.
General:
* Added VREvent_TrackedDeviceRoleChanged, which is sent when right/left handedness of a controller changes.
Settings:
* Added RemoveSection, which removes an entire section from the settings.
Render Models:
* Changed render model and texture loading to be asynchronous. LoadRenderModel has become LoadRenderModel_Async and LoadTexture has become LoadTexture_Async. Check the EVRRenderModelError returned by these functions to determine if the requested resource is loaded asynchronously.
* LoadTextureD3D11 has become LoadTextureD3D11_Async which loads a texture into a D3D11 resource asynchronously.
* Added VRComponentProperty_IsScrolled, which can be returned for render model components that are currently scrolling.
* Added RenderModel_ControllerMode_State_t to GetComponentState. This allows the caller to specify whether the component is scrolled and is used for devices sending scroll events to overlays. Pass NULL if you don't care about this.
Driver Interface:
* Removed TrackedDeviceDriverInfo_t. The information that used to be in this struct is now provided via properties. Added Prop_DeviceClass_Int32 for the one member of the struct that didn't already have a matching property.
* IServerDriverHost:: TrackedDeviceAdded now takes a serial number string. The driver will be called back to get specifics via properties.
* Prop_SerialNumber_String and Prop_DeviceClass_Int32 are now required for every tracked device driver.
* Added deviceIsConnected to DriverPose_t. When a connection to a device is lost the driver should send another pose with this bool set to false.
* Removed ITrackedDeviceServerDriver::GetId. This information is retrieved via Prop_SerialNumber_String now.
* Functions that aren't universal to all tracked devices have been moved onto driver components. These are retrieved with the GetComponent function.
* Display-related functions have moved to IVRDisplayComponent. This includes:
* GetWindowBounds
* IsDisplayOnDesktop
* IsDisplayRealDisplay
* GetRecommendedRenderTargetSize
* GetEyeOutputViewport
* GetProjectionRaw
* ComputeDistortion
* CreateSwapTextureSet
* DestroySwapTextureSet
* DestroyAllSwapTextureSets
* SubmitLayer
* Present
* Controller-related functions have been moved to IVRControllerComponent. This includes:
* GetControllerState
* TriggerHapticPulse
* Camera-related functions have moved onto IVRCameraComponent, but this interface is still in flux, so you should avoid implementing it in your driver.
* IServerDriverHost lost the TrackedDeviceInfoUpdated function. If property values change, the driver should call TrackedDevicePropertiesChanged instead.
* GetSettings on IServerDriverHost and IClientDriverHost now take an interface string. Pass the version of IVRSettings that your driver was compiled against.
* Interface versions were added to a few other places to support backward compatibility.
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3299073]
/** Session unique texture identifier. Rendermodels which share the same texture will have the same id.
2284
-
IDs <0 denote the texture is not present
2285
-
*/
2313
+
IDs <0 denote the texture is not present */
2286
2314
2287
2315
typedefint32_t TextureID_t;
2288
2316
@@ -2295,41 +2323,45 @@ struct RenderModel_t
2295
2323
TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present
2296
2324
};
2297
2325
2326
+
structRenderModel_ControllerMode_State_t
2327
+
{
2328
+
bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode
2329
+
};
2330
+
2298
2331
#pragma pack( pop )
2299
2332
2300
2333
classIVRRenderModels
2301
2334
{
2302
2335
public:
2303
2336
2304
-
2305
2337
/** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name
2306
2338
* from the Prop_RenderModelName_String property or an absolute path name to a render model on disk.
2307
2339
*
2308
2340
* The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the
2309
2341
* application is finished with the render model it should call FreeRenderModel() to free the memory associated
2310
2342
* with the model.
2311
2343
*
2312
-
* The method returns false if the model could not be loaded.
2313
-
*
2314
-
* The API expects that this function will be called at startup or when tracked devices are connected and disconnected.
2315
-
* If it is called every frame it will hurt performance.
0 commit comments