mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-14 05:40:05 +00:00
cmake build support for VR demo (WIN32 only)
update to latest OpenVR 1.05 SDK from https://github.com/ValveSoftware/openvr add keyboard support to tune default camera VR position VR revert to double 'distorted' views on Desktop, since the single view isn't showing full scene
This commit is contained in:
parent
a230c941f9
commit
94c768bea8
@ -202,5 +202,81 @@ IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
|
||||
|
||||
IF (WIN32)
|
||||
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/Glew
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/headers
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/samples/shared
|
||||
)
|
||||
|
||||
ADD_DEFINITIONS(-DB3_USE_STANDALONE_EXAMPLE -DBT_ENABLE_VR)
|
||||
|
||||
LINK_LIBRARIES(
|
||||
openvr_api Bullet3Common BulletWorldImporter BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision LinearMath BussIK OpenGLWindow
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
ADD_DEFINITIONS(-DGLEW_STATIC)
|
||||
LINK_LIBRARIES( ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} )
|
||||
IF (CMAKE_CL_64)
|
||||
LINK_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/lib/win64)
|
||||
ELSE(CMAKE_CL_64)
|
||||
LINK_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/lib/win32)
|
||||
ENDIF(CMAKE_CL_64)
|
||||
ADD_EXECUTABLE(App_SharedMemoryPhysics_VR
|
||||
${SharedMemory_SRCS}
|
||||
../StandaloneMain/hellovr_opengl_main.cpp
|
||||
../ExampleBrowser/OpenGLGuiHelper.cpp
|
||||
../ExampleBrowser/GL_ShapeDrawer.cpp
|
||||
../ExampleBrowser/CollisionShape2TriangleMesh.cpp
|
||||
../RenderingExamples/TinyVRGui.cpp
|
||||
../RenderingExamples/TimeSeriesCanvas.cpp
|
||||
../RenderingExamples/TimeSeriesFontData.cpp
|
||||
../ThirdPartyLibs/openvr/samples/shared/lodepng.cpp
|
||||
../ThirdPartyLibs/openvr/samples/shared/lodepng.h
|
||||
../ThirdPartyLibs/openvr/samples/shared/Matrices.cpp
|
||||
../ThirdPartyLibs/openvr/samples/shared/Matrices.h
|
||||
../ThirdPartyLibs/openvr/samples/shared/pathtools.cpp
|
||||
../ThirdPartyLibs/openvr/samples/shared/pathtools.h
|
||||
../ThirdPartyLibs/openvr/samples/shared/Vectors.h
|
||||
../MultiThreading/b3Win32ThreadSupport.cpp
|
||||
../MultiThreading/b3Win32ThreadSupport.h
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/build3/bullet.rc
|
||||
)
|
||||
|
||||
|
||||
IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
|
||||
IF (CMAKE_CL_64)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET App_SharedMemoryPhysics_VR
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/bin/win64/openvr_api.dll ${CMAKE_CURRENT_BINARY_DIR}/openvr_api.dll
|
||||
)
|
||||
ELSE(CMAKE_CL_64)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET App_SharedMemoryPhysics_VR
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/bin/win32/openvr_api.dll ${CMAKE_CURRENT_BINARY_DIR}/openvr_api.dll
|
||||
)
|
||||
ENDIF(CMAKE_CL_64)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET App_SharedMemoryPhysics_VR
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory ${BULLET_PHYSICS_SOURCE_DIR}/data ${PROJECT_BINARY_DIR}/data
|
||||
)
|
||||
ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
|
||||
|
||||
|
||||
IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
SET_TARGET_PROPERTIES(App_SharedMemoryPhysics_VR PROPERTIES DEBUG_POSTFIX "_Debug")
|
||||
SET_TARGET_PROPERTIES(App_SharedMemoryPhysics_VR PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
|
||||
SET_TARGET_PROPERTIES(App_SharedMemoryPhysics_VR PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
|
||||
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
|
||||
ENDIF(WIN32)
|
@ -4943,7 +4943,7 @@ void PhysicsServerCommandProcessor::createDefaultRobotAssets()
|
||||
loadUrdf("husky/husky.urdf", btVector3(2, -5, 1), btQuaternion(0, 0, 0, 1), true, false, &bodyId, &gBufferServerToClient[0], gBufferServerToClient.size());
|
||||
m_data->m_huskyId = bodyId;
|
||||
|
||||
m_data->m_dynamicsWorld->setGravity(btVector3(0, 0, 0));
|
||||
m_data->m_dynamicsWorld->setGravity(btVector3(0, 0, -10));
|
||||
|
||||
}
|
||||
|
||||
|
@ -77,22 +77,22 @@ static void loadCurrentSettingsVR(b3CommandLineArgs& args)
|
||||
|
||||
};
|
||||
|
||||
|
||||
#if B3_USE_MIDI
|
||||
//remember the settings (you don't want to re-tune again and again...)
|
||||
static void saveCurrentSettingsVR()
|
||||
{
|
||||
FILE* f = fopen(startFileNameVR, "w");
|
||||
if (f)
|
||||
{
|
||||
fprintf(f, "--camPosX= %f\n", gVRTeleportPosLocal[0]);
|
||||
fprintf(f, "--camPosY= %f\n", gVRTeleportPosLocal[1]);
|
||||
fprintf(f, "--camPosZ= %f\n", gVRTeleportPosLocal[2]);
|
||||
fprintf(f, "--camPosX= %f\n", gVRTeleportPos1[0]);
|
||||
fprintf(f, "--camPosY= %f\n", gVRTeleportPos1[1]);
|
||||
fprintf(f, "--camPosZ= %f\n", gVRTeleportPos1[2]);
|
||||
fprintf(f, "--camRotZ= %f\n", gVRTeleportRotZ);
|
||||
fclose(f);
|
||||
}
|
||||
};
|
||||
|
||||
#if B3_USE_MIDI
|
||||
|
||||
|
||||
|
||||
static float getParamf(float rangeMin, float rangeMax, int midiVal)
|
||||
@ -116,7 +116,7 @@ void midiCallback(double deltatime, std::vector< unsigned char > *message, void
|
||||
if (message->at(1) == 16)
|
||||
{
|
||||
gVRTeleportRotZ= getParamf(-3.1415, 3.1415, message->at(2));
|
||||
gVRTeleportOrnLocal = btQuaternion(btVector3(0, 0, 1), gVRTeleportRotZ);
|
||||
gVRTeleportOrn = btQuaternion(btVector3(0, 0, 1), gVRTeleportRotZ);
|
||||
saveCurrentSettingsVR();
|
||||
// b3Printf("gVRTeleportOrnLocal rotZ = %f\n", gVRTeleportRotZ);
|
||||
}
|
||||
@ -130,7 +130,7 @@ void midiCallback(double deltatime, std::vector< unsigned char > *message, void
|
||||
{
|
||||
if (message->at(1) == i)
|
||||
{
|
||||
gVRTeleportPosLocal[i] = getParamf(-2, 2, message->at(2));
|
||||
gVRTeleportPos1[i] = getParamf(-2, 2, message->at(2));
|
||||
saveCurrentSettingsVR();
|
||||
// b3Printf("gVRTeleportPos[%d] = %f\n", i,gVRTeleportPosLocal[i]);
|
||||
|
||||
@ -1071,7 +1071,46 @@ public:
|
||||
//printf("button=%d, state=%d\n",button,state);
|
||||
return false;
|
||||
}
|
||||
virtual bool keyboardCallback(int key, int state){return false;}
|
||||
virtual bool keyboardCallback(int key, int state){
|
||||
if (key=='w' && state)
|
||||
{
|
||||
gVRTeleportPos1[0]+=0.1;
|
||||
saveCurrentSettingsVR();
|
||||
}
|
||||
if (key=='s' && state)
|
||||
{
|
||||
gVRTeleportPos1[0]-=0.1;
|
||||
saveCurrentSettingsVR();
|
||||
}
|
||||
if (key=='a' && state)
|
||||
{
|
||||
gVRTeleportPos1[1]-=0.1;
|
||||
saveCurrentSettingsVR();
|
||||
}
|
||||
if (key=='d' && state)
|
||||
{
|
||||
gVRTeleportPos1[1]+=0.1;
|
||||
saveCurrentSettingsVR();
|
||||
}
|
||||
if (key=='q' && state)
|
||||
{
|
||||
gVRTeleportPos1[2]+=0.1;
|
||||
saveCurrentSettingsVR();
|
||||
}
|
||||
if (key=='e' && state)
|
||||
{
|
||||
gVRTeleportPos1[2]-=0.1;
|
||||
saveCurrentSettingsVR();
|
||||
}
|
||||
if (key=='z' && state)
|
||||
{
|
||||
gVRTeleportRotZ+=0.1;
|
||||
gVRTeleportOrn = btQuaternion(btVector3(0, 0, 1), gVRTeleportRotZ);
|
||||
saveCurrentSettingsVR();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual void setSharedMemoryKey(int key)
|
||||
{
|
||||
@ -1089,19 +1128,19 @@ public:
|
||||
setSharedMemoryKey(shmemKey);
|
||||
}
|
||||
|
||||
if (args.GetCmdLineArgument("camPosX", gVRTeleportPosLocal[0]))
|
||||
if (args.GetCmdLineArgument("camPosX", gVRTeleportPos1[0]))
|
||||
{
|
||||
printf("camPosX=%f\n", gVRTeleportPosLocal[0]);
|
||||
printf("camPosX=%f\n", gVRTeleportPos1[0]);
|
||||
}
|
||||
|
||||
if (args.GetCmdLineArgument("camPosY", gVRTeleportPosLocal[1]))
|
||||
if (args.GetCmdLineArgument("camPosY", gVRTeleportPos1[1]))
|
||||
{
|
||||
printf("camPosY=%f\n", gVRTeleportPosLocal[1]);
|
||||
printf("camPosY=%f\n", gVRTeleportPos1[1]);
|
||||
}
|
||||
|
||||
if (args.GetCmdLineArgument("camPosZ", gVRTeleportPosLocal[2]))
|
||||
if (args.GetCmdLineArgument("camPosZ", gVRTeleportPos1[2]))
|
||||
{
|
||||
printf("camPosZ=%f\n", gVRTeleportPosLocal[2]);
|
||||
printf("camPosZ=%f\n", gVRTeleportPos1[2]);
|
||||
}
|
||||
|
||||
float camRotZ = 0.f;
|
||||
@ -1109,7 +1148,7 @@ public:
|
||||
{
|
||||
printf("camRotZ = %f\n", camRotZ);
|
||||
btQuaternion ornZ(btVector3(0, 0, 1), camRotZ);
|
||||
gVRTeleportOrnLocal = ornZ;
|
||||
gVRTeleportOrn = ornZ;
|
||||
}
|
||||
|
||||
if (args.CheckCmdLineFlag("robotassets"))
|
||||
|
@ -21,12 +21,9 @@
|
||||
#include "LinearMath/btIDebugDraw.h"
|
||||
int gSharedMemoryKey = -1;
|
||||
int gDebugDrawFlags = 0;
|
||||
bool gDisplayDistortion = false;
|
||||
bool gDisplayDistortion = true;
|
||||
bool gDisableDesktopGL = false;
|
||||
|
||||
//how can you try typing on a keyboard, without seeing it?
|
||||
//it is pretty funny, to see the desktop in VR!
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
@ -343,6 +340,19 @@ std::string GetTrackedDeviceString( vr::IVRSystem *pHmd, vr::TrackedDeviceIndex_
|
||||
}
|
||||
|
||||
|
||||
b3KeyboardCallback prevKeyboardCallback = 0;
|
||||
|
||||
void MyKeyboardCallback(int key, int state)
|
||||
{
|
||||
if (sExample)
|
||||
{
|
||||
sExample->keyboardCallback(key,state);
|
||||
}
|
||||
|
||||
if (prevKeyboardCallback)
|
||||
prevKeyboardCallback(key,state);
|
||||
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -398,7 +408,9 @@ bool CMainApplication::BInit()
|
||||
|
||||
//sGuiPtr = new DummyGUIHelper;
|
||||
|
||||
|
||||
prevKeyboardCallback = m_app->m_window->getKeyboardCallback();
|
||||
m_app->m_window->setKeyboardCallback(MyKeyboardCallback);
|
||||
|
||||
CommonExampleOptions options(sGuiPtr);
|
||||
|
||||
sExample = StandaloneExampleCreateFunc(options);
|
||||
@ -843,6 +855,8 @@ void CMainApplication::RenderFrame()
|
||||
RenderDistortion();
|
||||
} else
|
||||
{
|
||||
//todo: should use framebuffer_multisample_blit_scaled
|
||||
//See https://twitter.com/id_aa_carmack/status/268488838425481217?lang=en
|
||||
glBindFramebuffer( GL_FRAMEBUFFER, 0 );
|
||||
glDisable( GL_MULTISAMPLE );
|
||||
glBindFramebuffer(GL_READ_FRAMEBUFFER, rightEyeDesc.m_nRenderFramebufferId );
|
||||
@ -857,9 +871,9 @@ void CMainApplication::RenderFrame()
|
||||
}
|
||||
}
|
||||
|
||||
vr::Texture_t leftEyeTexture = {(void*)leftEyeDesc.m_nResolveTextureId, vr::API_OpenGL, vr::ColorSpace_Gamma };
|
||||
vr::Texture_t leftEyeTexture = {(void*)leftEyeDesc.m_nResolveTextureId, vr::TextureType_OpenGL, vr::ColorSpace_Gamma };
|
||||
vr::VRCompositor()->Submit(vr::Eye_Left, &leftEyeTexture );
|
||||
vr::Texture_t rightEyeTexture = {(void*)rightEyeDesc.m_nResolveTextureId, vr::API_OpenGL, vr::ColorSpace_Gamma };
|
||||
vr::Texture_t rightEyeTexture = {(void*)rightEyeDesc.m_nResolveTextureId, vr::TextureType_OpenGL, vr::ColorSpace_Gamma };
|
||||
vr::VRCompositor()->Submit(vr::Eye_Right, &rightEyeTexture );
|
||||
|
||||
}
|
||||
@ -1629,7 +1643,7 @@ void CMainApplication::RenderStereoTargets()
|
||||
B3_PROFILE("CMainApplication::RenderStereoTargets");
|
||||
|
||||
btScalar dtSec = btScalar(m_clock.getTimeInSeconds());
|
||||
dtSec = b3Min(dtSec,0.1);
|
||||
dtSec = btMin(dtSec,btScalar(0.1));
|
||||
sExample->stepSimulation(dtSec);
|
||||
m_clock.reset();
|
||||
|
||||
@ -1879,7 +1893,7 @@ Matrix4 CMainApplication::GetHMDMatrixProjectionEye( vr::Hmd_Eye nEye )
|
||||
if ( !m_pHMD )
|
||||
return Matrix4();
|
||||
|
||||
vr::HmdMatrix44_t mat = m_pHMD->GetProjectionMatrix( nEye, m_fNearClip, m_fFarClip, vr::API_OpenGL);
|
||||
vr::HmdMatrix44_t mat = m_pHMD->GetProjectionMatrix( nEye, m_fNearClip, m_fFarClip);
|
||||
|
||||
return Matrix4(
|
||||
mat.m[0][0], mat.m[1][0], mat.m[2][0], mat.m[3][0],
|
||||
@ -1959,7 +1973,6 @@ void CMainApplication::UpdateHMDMatrixPose()
|
||||
case vr::TrackedDeviceClass_Controller: m_rDevClassChar[nDevice] = 'C'; break;
|
||||
case vr::TrackedDeviceClass_HMD: m_rDevClassChar[nDevice] = 'H'; break;
|
||||
case vr::TrackedDeviceClass_Invalid: m_rDevClassChar[nDevice] = 'I'; break;
|
||||
case vr::TrackedDeviceClass_Other: m_rDevClassChar[nDevice] = 'O'; break;
|
||||
case vr::TrackedDeviceClass_TrackingReference: m_rDevClassChar[nDevice] = 'T'; break;
|
||||
default: m_rDevClassChar[nDevice] = '?'; break;
|
||||
}
|
||||
@ -2246,13 +2259,11 @@ int main(int argc, char *argv[])
|
||||
if (sExample)
|
||||
{
|
||||
//until we have a proper VR gui, always assume we want the hard-coded default robot assets
|
||||
#if 0
|
||||
char* newargv[2];
|
||||
char* t0 = (char*)"--robotassets";
|
||||
newargv[0] = t0;
|
||||
newargv[1] = t0;
|
||||
sExample->processCommandLineArgs(2,newargv);
|
||||
#endif
|
||||
sExample->processCommandLineArgs(argc,argv);
|
||||
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -111,10 +111,11 @@ enum EVREye
|
||||
Eye_Right = 1
|
||||
};
|
||||
|
||||
enum EGraphicsAPIConvention
|
||||
enum ETextureType
|
||||
{
|
||||
API_DirectX = 0, // Normalized Z goes from 0 at the viewer to 1 at the far clip plane
|
||||
API_OpenGL = 1, // Normalized Z goes from 1 at the viewer to -1 at the far clip plane
|
||||
TextureType_DirectX = 0, // Handle is an ID3D11Texture
|
||||
TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags
|
||||
TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure
|
||||
};
|
||||
|
||||
enum EColorSpace
|
||||
@ -126,8 +127,8 @@ enum EColorSpace
|
||||
|
||||
struct Texture_t
|
||||
{
|
||||
void* handle; // Native d3d texture pointer or GL texture id.
|
||||
EGraphicsAPIConvention eType;
|
||||
void* handle; // See ETextureType definition above
|
||||
ETextureType eType;
|
||||
EColorSpace eColorSpace;
|
||||
};
|
||||
|
||||
@ -161,11 +162,8 @@ enum ETrackedDeviceClass
|
||||
TrackedDeviceClass_Invalid = 0, // the ID was not valid.
|
||||
TrackedDeviceClass_HMD = 1, // Head-Mounted Displays
|
||||
TrackedDeviceClass_Controller = 2, // Tracked controllers
|
||||
TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers
|
||||
TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points
|
||||
|
||||
TrackedDeviceClass_Count, // This isn't a class that will ever be returned. It is used for allocating arrays and such
|
||||
|
||||
TrackedDeviceClass_Other = 1000,
|
||||
};
|
||||
|
||||
|
||||
@ -198,7 +196,7 @@ enum ETrackingUniverseOrigin
|
||||
{
|
||||
TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose
|
||||
TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user
|
||||
TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. You probably don't want this one.
|
||||
TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one.
|
||||
};
|
||||
|
||||
|
||||
@ -206,6 +204,8 @@ enum ETrackingUniverseOrigin
|
||||
* tracked device. Many fields are only valid for one ETrackedDeviceClass. */
|
||||
enum ETrackedDeviceProperty
|
||||
{
|
||||
Prop_Invalid = 0,
|
||||
|
||||
// general properties that apply to all device classes
|
||||
Prop_TrackingSystemName_String = 1000,
|
||||
Prop_ModelNumber_String = 1001,
|
||||
@ -333,6 +333,7 @@ enum ETrackedPropertyError
|
||||
TrackedProp_ValueNotProvidedByDevice = 7,
|
||||
TrackedProp_StringExceedsMaximumLength = 8,
|
||||
TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later.
|
||||
TrackedProp_PermissionDenied = 10,
|
||||
};
|
||||
|
||||
/** Allows the application to control what part of the provided texture will be used in the
|
||||
@ -358,13 +359,13 @@ enum EVRSubmitFlags
|
||||
// If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag.
|
||||
Submit_GlRenderBuffer = 0x02,
|
||||
|
||||
// Handle is pointer to VulkanData_t
|
||||
Submit_VulkanTexture = 0x04,
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
* Be sure to call OpenVR_Shutdown before destroying these resources. */
|
||||
struct VulkanData_t
|
||||
struct VRVulkanTextureData_t
|
||||
{
|
||||
uint64_t m_nImage; // VkImage
|
||||
VkDevice_T *m_pDevice;
|
||||
@ -517,6 +518,8 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_EnableCapture = 1600,
|
||||
VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@ -703,6 +706,11 @@ struct VREvent_EditingCameraSurface_t
|
||||
uint32_t nVisualMode;
|
||||
};
|
||||
|
||||
struct VREvent_MessageOverlay_t
|
||||
{
|
||||
uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum
|
||||
};
|
||||
|
||||
/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */
|
||||
typedef union
|
||||
{
|
||||
@ -724,6 +732,7 @@ typedef union
|
||||
VREvent_ScreenshotProgress_t screenshotProgress;
|
||||
VREvent_ApplicationLaunch_t applicationLaunch;
|
||||
VREvent_EditingCameraSurface_t cameraSurface;
|
||||
VREvent_MessageOverlay_t messageOverlay;
|
||||
} VREvent_Data_t;
|
||||
|
||||
/** An event posted by the server to all running applications */
|
||||
@ -944,6 +953,8 @@ enum EVRInitError
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
@ -1131,7 +1142,7 @@ public:
|
||||
virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0;
|
||||
|
||||
/** The projection matrix for the specified eye */
|
||||
virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType ) = 0;
|
||||
virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ ) = 0;
|
||||
|
||||
/** The components necessary to build your own projection matrix in case your
|
||||
* application is doing something fancy like infinite Z */
|
||||
@ -1384,7 +1395,7 @@ public:
|
||||
|
||||
};
|
||||
|
||||
static const char * const IVRSystem_Version = "IVRSystem_014";
|
||||
static const char * const IVRSystem_Version = "IVRSystem_015";
|
||||
|
||||
}
|
||||
|
||||
@ -1640,7 +1651,6 @@ namespace vr
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// steamvr keys
|
||||
|
||||
static const char * const k_pch_SteamVR_Section = "steamvr";
|
||||
static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd";
|
||||
static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
|
||||
@ -1677,27 +1687,26 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
|
||||
static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
|
||||
static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
|
||||
static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
|
||||
static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
|
||||
static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
|
||||
static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
|
||||
static const char * const k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
|
||||
static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
|
||||
static const char * const k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
|
||||
|
||||
static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
|
||||
static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// null keys
|
||||
|
||||
static const char * const k_pch_Null_Section = "driver_null";
|
||||
static const char * const k_pch_Null_EnableNullDriver_Bool = "enable";
|
||||
static const char * const k_pch_Null_SerialNumber_String = "serialNumber";
|
||||
@ -1830,7 +1839,7 @@ enum ChaperoneCalibrationState
|
||||
|
||||
// Errors
|
||||
ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid
|
||||
ChaperoneCalibrationState_Error_BaseStationUninitalized = 201, // Tracking center hasn't be calibrated for at least one of the base stations
|
||||
ChaperoneCalibrationState_Error_BaseStationUninitialized = 201, // Tracking center hasn't be calibrated for at least one of the base stations
|
||||
ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space
|
||||
ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center
|
||||
ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center
|
||||
@ -2236,9 +2245,20 @@ public:
|
||||
virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0;
|
||||
virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0;
|
||||
virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0;
|
||||
|
||||
/** [Vulkan Only]
|
||||
* return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing
|
||||
* null. The string will be a space separated list of-required instance extensions to enable in VkCreateInstance */
|
||||
virtual uint32_t GetVulkanInstanceExtensionsRequired( VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
|
||||
|
||||
/** [Vulkan only]
|
||||
* return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing
|
||||
* null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */
|
||||
virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
|
||||
|
||||
};
|
||||
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_018";
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_019";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
@ -2414,6 +2434,20 @@ namespace vr
|
||||
// If this is set on an overlay owned by the scene application that overlay
|
||||
// will be sorted with the "Other" overlays on top of all other scene overlays
|
||||
VROverlayFlags_SortWithNonSceneOverlays = 14,
|
||||
|
||||
// If set, the overlay will be shown in the dashboard, otherwise it will be hidden.
|
||||
VROverlayFlags_VisibleInDashboard = 15,
|
||||
};
|
||||
|
||||
enum VRMessageOverlayResponse
|
||||
{
|
||||
VRMessageOverlayResponse_ButtonPress_0 = 0,
|
||||
VRMessageOverlayResponse_ButtonPress_1 = 1,
|
||||
VRMessageOverlayResponse_ButtonPress_2 = 2,
|
||||
VRMessageOverlayResponse_ButtonPress_3 = 3,
|
||||
VRMessageOverlayResponse_CouldntFindSystemOverlay = 4,
|
||||
VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay= 5,
|
||||
VRMessageOverlayResponse_ApplicationQuit = 6
|
||||
};
|
||||
|
||||
struct VROverlayIntersectionParams_t
|
||||
@ -2731,7 +2765,7 @@ namespace vr
|
||||
* pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *.
|
||||
* pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle.
|
||||
*/
|
||||
virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, EGraphicsAPIConvention *pAPI, EColorSpace *pColorSpace ) = 0;
|
||||
virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, ETextureType *pAPIType, EColorSpace *pColorSpace, VRTextureBounds_t *pTextureBounds ) = 0;
|
||||
|
||||
/** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object,
|
||||
* so only do it once you stop rendering this texture.
|
||||
@ -2794,9 +2828,18 @@ namespace vr
|
||||
/** Sets a list of primitives to be used for controller ray intersection
|
||||
* typically the size of the underlying UI in pixels (not in world space). */
|
||||
virtual EVROverlayError SetOverlayIntersectionMask( VROverlayHandle_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize = sizeof( VROverlayIntersectionMaskPrimitive_t ) ) = 0;
|
||||
|
||||
virtual EVROverlayError GetOverlayFlags( VROverlayHandle_t ulOverlayHandle, uint32_t *pFlags ) = 0;
|
||||
|
||||
// ---------------------------------------------
|
||||
// Message box methods
|
||||
// ---------------------------------------------
|
||||
|
||||
/** Show the message overlay. This will block and return you a result. **/
|
||||
virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0;
|
||||
};
|
||||
|
||||
static const char * const IVROverlay_Version = "IVROverlay_013";
|
||||
static const char * const IVROverlay_Version = "IVROverlay_014";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
@ -3041,7 +3084,7 @@ public:
|
||||
/** Gets size of the image frame. */
|
||||
virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0;
|
||||
|
||||
virtual vr::EVRTrackedCameraError GetCameraIntrinisics( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0;
|
||||
virtual vr::EVRTrackedCameraError GetCameraIntrinsics( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0;
|
||||
|
||||
virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0;
|
||||
|
||||
@ -3062,7 +3105,12 @@ public:
|
||||
/** Gets size of the image frame. */
|
||||
virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0;
|
||||
|
||||
/** Access a shared D3D11 texture for the specified tracked camera stream */
|
||||
/** Access a shared D3D11 texture for the specified tracked camera stream.
|
||||
* The camera frame type VRTrackedCameraFrameType_Undistorted is not supported directly as a shared texture. It is an interior subregion of the shared texture VRTrackedCameraFrameType_MaximumUndistorted.
|
||||
* Instead, use GetVideoStreamTextureSize() with VRTrackedCameraFrameType_Undistorted to determine the proper interior subregion bounds along with GetVideoStreamTextureD3D11() with
|
||||
* VRTrackedCameraFrameType_MaximumUndistorted to provide the texture. The VRTrackedCameraFrameType_MaximumUndistorted will yield an image where the invalid regions are decoded
|
||||
* by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described by VRTrackedCameraFrameType_Undistorted
|
||||
* guarantees a rectangle where all pixels are valid. */
|
||||
virtual vr::EVRTrackedCameraError GetVideoStreamTextureD3D11( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0;
|
||||
|
||||
/** Access a shared GL texture for the specified tracked camera stream */
|
||||
@ -3263,7 +3311,6 @@ namespace vr
|
||||
// They will go away in the future.
|
||||
typedef EVRInitError HmdError;
|
||||
typedef EVREye Hmd_Eye;
|
||||
typedef EGraphicsAPIConvention GraphicsAPIConvention;
|
||||
typedef EColorSpace ColorSpace;
|
||||
typedef ETrackingResult HmdTrackingResult;
|
||||
typedef ETrackedDeviceClass TrackedDeviceClass;
|
||||
|
@ -21,7 +21,7 @@ public struct IVRSystem
|
||||
internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType);
|
||||
internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetProjectionMatrix GetProjectionMatrix;
|
||||
|
||||
@ -276,9 +276,9 @@ public struct IVRTrackedCamera
|
||||
internal _GetCameraFrameSize GetCameraFrameSize;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVRTrackedCameraError _GetCameraIntrinisics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter);
|
||||
internal delegate EVRTrackedCameraError _GetCameraIntrinsics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetCameraIntrinisics GetCameraIntrinisics;
|
||||
internal _GetCameraIntrinsics GetCameraIntrinsics;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection);
|
||||
@ -820,6 +820,16 @@ public struct IVRCompositor
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate uint _GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue, uint unBufferSize);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetVulkanInstanceExtensionsRequired GetVulkanInstanceExtensionsRequired;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate uint _GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice, System.Text.StringBuilder pchValue, uint unBufferSize);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@ -1106,7 +1116,7 @@ public struct IVROverlay
|
||||
internal _SetOverlayFromFile SetOverlayFromFile;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref EGraphicsAPIConvention pAPI, ref EColorSpace pColorSpace);
|
||||
internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetOverlayTexture GetOverlayTexture;
|
||||
|
||||
@ -1190,6 +1200,16 @@ public struct IVROverlay
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SetOverlayIntersectionMask SetOverlayIntersectionMask;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVROverlayError _GetOverlayFlags(ulong ulOverlayHandle, ref uint pFlags);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetOverlayFlags GetOverlayFlags;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate VRMessageOverlayResponse _ShowMessageOverlay(string pchText, string pchCaption, string pchButton0Text, string pchButton1Text, string pchButton2Text, string pchButton3Text);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _ShowMessageOverlay ShowMessageOverlay;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@ -1436,9 +1456,9 @@ public class CVRSystem
|
||||
pnHeight = 0;
|
||||
FnTable.GetRecommendedRenderTargetSize(ref pnWidth,ref pnHeight);
|
||||
}
|
||||
public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ,EGraphicsAPIConvention eProjType)
|
||||
public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ)
|
||||
{
|
||||
HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ,eProjType);
|
||||
HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ);
|
||||
return result;
|
||||
}
|
||||
public void GetProjectionRaw(EVREye eEye,ref float pfLeft,ref float pfRight,ref float pfTop,ref float pfBottom)
|
||||
@ -1710,9 +1730,9 @@ public class CVRTrackedCamera
|
||||
EVRTrackedCameraError result = FnTable.GetCameraFrameSize(nDeviceIndex,eFrameType,ref pnWidth,ref pnHeight,ref pnFrameBufferSize);
|
||||
return result;
|
||||
}
|
||||
public EVRTrackedCameraError GetCameraIntrinisics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter)
|
||||
public EVRTrackedCameraError GetCameraIntrinsics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter)
|
||||
{
|
||||
EVRTrackedCameraError result = FnTable.GetCameraIntrinisics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter);
|
||||
EVRTrackedCameraError result = FnTable.GetCameraIntrinsics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter);
|
||||
return result;
|
||||
}
|
||||
public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection)
|
||||
@ -2268,6 +2288,16 @@ public class CVRCompositor
|
||||
{
|
||||
FnTable.UnlockGLSharedTextureForAccess(glSharedTextureHandle);
|
||||
}
|
||||
public uint GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue,uint unBufferSize)
|
||||
{
|
||||
uint result = FnTable.GetVulkanInstanceExtensionsRequired(pchValue,unBufferSize);
|
||||
return result;
|
||||
}
|
||||
public uint GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice,System.Text.StringBuilder pchValue,uint unBufferSize)
|
||||
{
|
||||
uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2574,12 +2604,12 @@ public class CVROverlay
|
||||
EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePath);
|
||||
return result;
|
||||
}
|
||||
public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref EGraphicsAPIConvention pAPI,ref EColorSpace pColorSpace)
|
||||
public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref ETextureType pAPIType,ref EColorSpace pColorSpace,ref VRTextureBounds_t pTextureBounds)
|
||||
{
|
||||
pWidth = 0;
|
||||
pHeight = 0;
|
||||
pNativeFormat = 0;
|
||||
EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPI,ref pColorSpace);
|
||||
EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPIType,ref pColorSpace,ref pTextureBounds);
|
||||
return result;
|
||||
}
|
||||
public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle)
|
||||
@ -2663,6 +2693,17 @@ public class CVROverlay
|
||||
EVROverlayError result = FnTable.SetOverlayIntersectionMask(ulOverlayHandle,ref pMaskPrimitives,unNumMaskPrimitives,unPrimitiveSize);
|
||||
return result;
|
||||
}
|
||||
public EVROverlayError GetOverlayFlags(ulong ulOverlayHandle,ref uint pFlags)
|
||||
{
|
||||
pFlags = 0;
|
||||
EVROverlayError result = FnTable.GetOverlayFlags(ulOverlayHandle,ref pFlags);
|
||||
return result;
|
||||
}
|
||||
public VRMessageOverlayResponse ShowMessageOverlay(string pchText,string pchCaption,string pchButton0Text,string pchButton1Text,string pchButton2Text,string pchButton3Text)
|
||||
{
|
||||
VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2940,10 +2981,11 @@ public enum EVREye
|
||||
Eye_Left = 0,
|
||||
Eye_Right = 1,
|
||||
}
|
||||
public enum EGraphicsAPIConvention
|
||||
public enum ETextureType
|
||||
{
|
||||
API_DirectX = 0,
|
||||
API_OpenGL = 1,
|
||||
DirectX = 0,
|
||||
OpenGL = 1,
|
||||
Vulkan = 2,
|
||||
}
|
||||
public enum EColorSpace
|
||||
{
|
||||
@ -2964,9 +3006,8 @@ public enum ETrackedDeviceClass
|
||||
Invalid = 0,
|
||||
HMD = 1,
|
||||
Controller = 2,
|
||||
GenericTracker = 3,
|
||||
TrackingReference = 4,
|
||||
Count = 5,
|
||||
Other = 1000,
|
||||
}
|
||||
public enum ETrackedControllerRole
|
||||
{
|
||||
@ -2982,6 +3023,7 @@ public enum ETrackingUniverseOrigin
|
||||
}
|
||||
public enum ETrackedDeviceProperty
|
||||
{
|
||||
Prop_Invalid = 0,
|
||||
Prop_TrackingSystemName_String = 1000,
|
||||
Prop_ModelNumber_String = 1001,
|
||||
Prop_SerialNumber_String = 1002,
|
||||
@ -3093,13 +3135,14 @@ public enum ETrackedPropertyError
|
||||
TrackedProp_ValueNotProvidedByDevice = 7,
|
||||
TrackedProp_StringExceedsMaximumLength = 8,
|
||||
TrackedProp_NotYetAvailable = 9,
|
||||
TrackedProp_PermissionDenied = 10,
|
||||
}
|
||||
public enum EVRSubmitFlags
|
||||
{
|
||||
Submit_Default = 0,
|
||||
Submit_LensDistortionAlreadyApplied = 1,
|
||||
Submit_GlRenderBuffer = 2,
|
||||
Submit_VulkanTexture = 4,
|
||||
Submit_Reserved = 4,
|
||||
}
|
||||
public enum EVRState
|
||||
{
|
||||
@ -3218,6 +3261,7 @@ public enum EVREventType
|
||||
VREvent_PerformanceTest_EnableCapture = 1600,
|
||||
VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
}
|
||||
@ -3369,6 +3413,8 @@ public enum EVRInitError
|
||||
Init_InvalidApplicationType = 130,
|
||||
Init_NotAvailableToWatchdogApps = 131,
|
||||
Init_WatchdogDisabledInSettings = 132,
|
||||
Init_VRDashboardNotFound = 133,
|
||||
Init_VRDashboardStartupFailed = 134,
|
||||
Driver_Failed = 200,
|
||||
Driver_Unknown = 201,
|
||||
Driver_HmdUnknown = 202,
|
||||
@ -3507,7 +3553,7 @@ public enum ChaperoneCalibrationState
|
||||
Warning_BaseStationRemoved = 102,
|
||||
Warning_SeatedBoundsInvalid = 103,
|
||||
Error = 200,
|
||||
Error_BaseStationUninitalized = 201,
|
||||
Error_BaseStationUninitialized = 201,
|
||||
Error_BaseStationConflict = 202,
|
||||
Error_PlayAreaInvalid = 203,
|
||||
Error_CollisionBoundsInvalid = 204,
|
||||
@ -3564,6 +3610,17 @@ public enum VROverlayFlags
|
||||
Panorama = 12,
|
||||
StereoPanorama = 13,
|
||||
SortWithNonSceneOverlays = 14,
|
||||
VisibleInDashboard = 15,
|
||||
}
|
||||
public enum VRMessageOverlayResponse
|
||||
{
|
||||
ButtonPress_0 = 0,
|
||||
ButtonPress_1 = 1,
|
||||
ButtonPress_2 = 2,
|
||||
ButtonPress_3 = 3,
|
||||
CouldntFindSystemOverlay = 4,
|
||||
CouldntFindOrCreateClientOverlay = 5,
|
||||
ApplicationQuit = 6,
|
||||
}
|
||||
public enum EGamepadTextInputMode
|
||||
{
|
||||
@ -3662,6 +3719,10 @@ public enum EVRScreenshotError
|
||||
[FieldOffset(0)] public VREvent_TouchPadMove_t touchPadMove;
|
||||
[FieldOffset(0)] public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
|
||||
[FieldOffset(0)] public VREvent_Screenshot_t screenshot;
|
||||
[FieldOffset(0)] public VREvent_ScreenshotProgress_t screenshotProgress;
|
||||
[FieldOffset(0)] public VREvent_ApplicationLaunch_t applicationLaunch;
|
||||
[FieldOffset(0)] public VREvent_EditingCameraSurface_t cameraSurface;
|
||||
[FieldOffset(0)] public VREvent_MessageOverlay_t messageOverlay;
|
||||
[FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug
|
||||
}
|
||||
|
||||
@ -3768,7 +3829,7 @@ public enum EVRScreenshotError
|
||||
[StructLayout(LayoutKind.Sequential)] public struct Texture_t
|
||||
{
|
||||
public IntPtr handle; // void *
|
||||
public EGraphicsAPIConvention eType;
|
||||
public ETextureType eType;
|
||||
public EColorSpace eColorSpace;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t
|
||||
@ -3789,7 +3850,7 @@ public enum EVRScreenshotError
|
||||
public float uMax;
|
||||
public float vMax;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VulkanData_t
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t
|
||||
{
|
||||
public ulong m_nImage;
|
||||
public IntPtr m_pDevice; // struct VkDevice_T *
|
||||
@ -3895,6 +3956,10 @@ public enum EVRScreenshotError
|
||||
public ulong overlayHandle;
|
||||
public uint nVisualMode;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VREvent_MessageOverlay_t
|
||||
{
|
||||
public uint unVRMessageOverlayResponse;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VREvent_t
|
||||
{
|
||||
public uint eventType;
|
||||
@ -4139,7 +4204,7 @@ public class OpenVR
|
||||
public const uint k_unControllerStateAxisCount = 5;
|
||||
public const ulong k_ulOverlayHandleInvalid = 0;
|
||||
public const uint k_unScreenshotHandleInvalid = 0;
|
||||
public const string IVRSystem_Version = "IVRSystem_014";
|
||||
public const string IVRSystem_Version = "IVRSystem_015";
|
||||
public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
public const uint k_unMaxApplicationKeyLength = 128;
|
||||
@ -4148,12 +4213,12 @@ public class OpenVR
|
||||
public const string IVRApplications_Version = "IVRApplications_006";
|
||||
public const string IVRChaperone_Version = "IVRChaperone_003";
|
||||
public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_018";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_019";
|
||||
public const uint k_unVROverlayMaxKeyLength = 128;
|
||||
public const uint k_unVROverlayMaxNameLength = 128;
|
||||
public const uint k_unMaxOverlayCount = 64;
|
||||
public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
|
||||
public const string IVROverlay_Version = "IVROverlay_013";
|
||||
public const string IVROverlay_Version = "IVROverlay_014";
|
||||
public const string k_pch_Controller_Component_GDC2015 = "gdc2015";
|
||||
public const string k_pch_Controller_Component_Base = "base";
|
||||
public const string k_pch_Controller_Component_Tip = "tip";
|
||||
@ -4200,6 +4265,9 @@ public class OpenVR
|
||||
public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
|
||||
public const string k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
|
||||
public const string k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
|
||||
public const string k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
|
||||
public const string k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
|
||||
public const string k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
|
||||
public const string k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
|
||||
public const string k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
|
||||
public const string k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
|
||||
|
@ -14,7 +14,6 @@
|
||||
,{"typedef": "vr::VRNotificationId","type": "uint32_t"}
|
||||
,{"typedef": "vr::HmdError","type": "enum vr::EVRInitError"}
|
||||
,{"typedef": "vr::Hmd_Eye","type": "enum vr::EVREye"}
|
||||
,{"typedef": "vr::GraphicsAPIConvention","type": "enum vr::EGraphicsAPIConvention"}
|
||||
,{"typedef": "vr::ColorSpace","type": "enum vr::EColorSpace"}
|
||||
,{"typedef": "vr::HmdTrackingResult","type": "enum vr::ETrackingResult"}
|
||||
,{"typedef": "vr::TrackedDeviceClass","type": "enum vr::ETrackedDeviceClass"}
|
||||
@ -34,9 +33,10 @@
|
||||
{"name": "Eye_Left","value": "0"}
|
||||
,{"name": "Eye_Right","value": "1"}
|
||||
]}
|
||||
, {"enumname": "vr::EGraphicsAPIConvention","values": [
|
||||
{"name": "API_DirectX","value": "0"}
|
||||
,{"name": "API_OpenGL","value": "1"}
|
||||
, {"enumname": "vr::ETextureType","values": [
|
||||
{"name": "TextureType_DirectX","value": "0"}
|
||||
,{"name": "TextureType_OpenGL","value": "1"}
|
||||
,{"name": "TextureType_Vulkan","value": "2"}
|
||||
]}
|
||||
, {"enumname": "vr::EColorSpace","values": [
|
||||
{"name": "ColorSpace_Auto","value": "0"}
|
||||
@ -54,9 +54,8 @@
|
||||
{"name": "TrackedDeviceClass_Invalid","value": "0"}
|
||||
,{"name": "TrackedDeviceClass_HMD","value": "1"}
|
||||
,{"name": "TrackedDeviceClass_Controller","value": "2"}
|
||||
,{"name": "TrackedDeviceClass_GenericTracker","value": "3"}
|
||||
,{"name": "TrackedDeviceClass_TrackingReference","value": "4"}
|
||||
,{"name": "TrackedDeviceClass_Count","value": "5"}
|
||||
,{"name": "TrackedDeviceClass_Other","value": "1000"}
|
||||
]}
|
||||
, {"enumname": "vr::ETrackedControllerRole","values": [
|
||||
{"name": "TrackedControllerRole_Invalid","value": "0"}
|
||||
@ -69,7 +68,8 @@
|
||||
,{"name": "TrackingUniverseRawAndUncalibrated","value": "2"}
|
||||
]}
|
||||
, {"enumname": "vr::ETrackedDeviceProperty","values": [
|
||||
{"name": "Prop_TrackingSystemName_String","value": "1000"}
|
||||
{"name": "Prop_Invalid","value": "0"}
|
||||
,{"name": "Prop_TrackingSystemName_String","value": "1000"}
|
||||
,{"name": "Prop_ModelNumber_String","value": "1001"}
|
||||
,{"name": "Prop_SerialNumber_String","value": "1002"}
|
||||
,{"name": "Prop_RenderModelName_String","value": "1003"}
|
||||
@ -179,12 +179,13 @@
|
||||
,{"name": "TrackedProp_ValueNotProvidedByDevice","value": "7"}
|
||||
,{"name": "TrackedProp_StringExceedsMaximumLength","value": "8"}
|
||||
,{"name": "TrackedProp_NotYetAvailable","value": "9"}
|
||||
,{"name": "TrackedProp_PermissionDenied","value": "10"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRSubmitFlags","values": [
|
||||
{"name": "Submit_Default","value": "0"}
|
||||
,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"}
|
||||
,{"name": "Submit_GlRenderBuffer","value": "2"}
|
||||
,{"name": "Submit_VulkanTexture","value": "4"}
|
||||
,{"name": "Submit_Reserved","value": "4"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRState","values": [
|
||||
{"name": "VRState_Undefined","value": "-1"}
|
||||
@ -301,6 +302,7 @@
|
||||
,{"name": "VREvent_PerformanceTest_EnableCapture","value": "1600"}
|
||||
,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"}
|
||||
,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"}
|
||||
,{"name": "VREvent_MessageOverlay_Closed","value": "1650"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"}
|
||||
]}
|
||||
@ -440,6 +442,8 @@
|
||||
,{"name": "VRInitError_Init_InvalidApplicationType","value": "130"}
|
||||
,{"name": "VRInitError_Init_NotAvailableToWatchdogApps","value": "131"}
|
||||
,{"name": "VRInitError_Init_WatchdogDisabledInSettings","value": "132"}
|
||||
,{"name": "VRInitError_Init_VRDashboardNotFound","value": "133"}
|
||||
,{"name": "VRInitError_Init_VRDashboardStartupFailed","value": "134"}
|
||||
,{"name": "VRInitError_Driver_Failed","value": "200"}
|
||||
,{"name": "VRInitError_Driver_Unknown","value": "201"}
|
||||
,{"name": "VRInitError_Driver_HmdUnknown","value": "202"}
|
||||
@ -570,7 +574,7 @@
|
||||
,{"name": "ChaperoneCalibrationState_Warning_BaseStationRemoved","value": "102"}
|
||||
,{"name": "ChaperoneCalibrationState_Warning_SeatedBoundsInvalid","value": "103"}
|
||||
,{"name": "ChaperoneCalibrationState_Error","value": "200"}
|
||||
,{"name": "ChaperoneCalibrationState_Error_BaseStationUninitalized","value": "201"}
|
||||
,{"name": "ChaperoneCalibrationState_Error_BaseStationUninitialized","value": "201"}
|
||||
,{"name": "ChaperoneCalibrationState_Error_BaseStationConflict","value": "202"}
|
||||
,{"name": "ChaperoneCalibrationState_Error_PlayAreaInvalid","value": "203"}
|
||||
,{"name": "ChaperoneCalibrationState_Error_CollisionBoundsInvalid","value": "204"}
|
||||
@ -621,6 +625,16 @@
|
||||
,{"name": "VROverlayFlags_Panorama","value": "12"}
|
||||
,{"name": "VROverlayFlags_StereoPanorama","value": "13"}
|
||||
,{"name": "VROverlayFlags_SortWithNonSceneOverlays","value": "14"}
|
||||
,{"name": "VROverlayFlags_VisibleInDashboard","value": "15"}
|
||||
]}
|
||||
, {"enumname": "vr::VRMessageOverlayResponse","values": [
|
||||
{"name": "VRMessageOverlayResponse_ButtonPress_0","value": "0"}
|
||||
,{"name": "VRMessageOverlayResponse_ButtonPress_1","value": "1"}
|
||||
,{"name": "VRMessageOverlayResponse_ButtonPress_2","value": "2"}
|
||||
,{"name": "VRMessageOverlayResponse_ButtonPress_3","value": "3"}
|
||||
,{"name": "VRMessageOverlayResponse_CouldntFindSystemOverlay","value": "4"}
|
||||
,{"name": "VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay","value": "5"}
|
||||
,{"name": "VRMessageOverlayResponse_ApplicationQuit","value": "6"}
|
||||
]}
|
||||
, {"enumname": "vr::EGamepadTextInputMode","values": [
|
||||
{"name": "k_EGamepadTextInputModeNormal","value": "0"}
|
||||
@ -712,7 +726,7 @@
|
||||
,{
|
||||
"constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"}
|
||||
,{
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_014"}
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_015"}
|
||||
,{
|
||||
"constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"}
|
||||
,{
|
||||
@ -730,7 +744,7 @@
|
||||
,{
|
||||
"constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"}
|
||||
,{
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_018"}
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_019"}
|
||||
,{
|
||||
"constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"}
|
||||
,{
|
||||
@ -740,7 +754,7 @@
|
||||
,{
|
||||
"constname": "k_unMaxOverlayIntersectionMaskPrimitivesCount","consttype": "const uint32_t", "constval": "32"}
|
||||
,{
|
||||
"constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_013"}
|
||||
"constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_014"}
|
||||
,{
|
||||
"constname": "k_pch_Controller_Component_GDC2015","consttype": "const char *const", "constval": "gdc2015"}
|
||||
,{
|
||||
@ -833,6 +847,12 @@
|
||||
"constname": "k_pch_SteamVR_MirrorViewGeometry_String","consttype": "const char *const", "constval": "mirrorViewGeometry"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_StartMonitorFromAppLaunch","consttype": "const char *const", "constval": "startMonitorFromAppLaunch"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_StartCompositorFromAppLaunch_Bool","consttype": "const char *const", "constval": "startCompositorFromAppLaunch"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_StartDashboardFromAppLaunch_Bool","consttype": "const char *const", "constval": "startDashboardFromAppLaunch"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool","consttype": "const char *const", "constval": "startOverlayAppsFromDashboard"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_EnableHomeApp","consttype": "const char *const", "constval": "enableHomeApp"}
|
||||
,{
|
||||
@ -1035,7 +1055,7 @@
|
||||
{ "fieldname": "rfBlue", "fieldtype": "float [2]"}]}
|
||||
,{"struct": "vr::Texture_t","fields": [
|
||||
{ "fieldname": "handle", "fieldtype": "void *"},
|
||||
{ "fieldname": "eType", "fieldtype": "enum vr::EGraphicsAPIConvention"},
|
||||
{ "fieldname": "eType", "fieldtype": "enum vr::ETextureType"},
|
||||
{ "fieldname": "eColorSpace", "fieldtype": "enum vr::EColorSpace"}]}
|
||||
,{"struct": "vr::TrackedDevicePose_t","fields": [
|
||||
{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"},
|
||||
@ -1049,7 +1069,7 @@
|
||||
{ "fieldname": "vMin", "fieldtype": "float"},
|
||||
{ "fieldname": "uMax", "fieldtype": "float"},
|
||||
{ "fieldname": "vMax", "fieldtype": "float"}]}
|
||||
,{"struct": "vr::VulkanData_t","fields": [
|
||||
,{"struct": "vr::VRVulkanTextureData_t","fields": [
|
||||
{ "fieldname": "m_nImage", "fieldtype": "uint64_t"},
|
||||
{ "fieldname": "m_pDevice", "fieldtype": "struct VkDevice_T *"},
|
||||
{ "fieldname": "m_pPhysicalDevice", "fieldtype": "struct VkPhysicalDevice_T *"},
|
||||
@ -1114,6 +1134,8 @@
|
||||
,{"struct": "vr::VREvent_EditingCameraSurface_t","fields": [
|
||||
{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"},
|
||||
{ "fieldname": "nVisualMode", "fieldtype": "uint32_t"}]}
|
||||
,{"struct": "vr::VREvent_MessageOverlay_t","fields": [
|
||||
{ "fieldname": "unVRMessageOverlayResponse", "fieldtype": "uint32_t"}]}
|
||||
,{"struct": "vr::(anonymous)","fields": [
|
||||
{ "fieldname": "reserved", "fieldtype": "struct vr::VREvent_Reserved_t"},
|
||||
{ "fieldname": "controller", "fieldtype": "struct vr::VREvent_Controller_t"},
|
||||
@ -1132,7 +1154,8 @@
|
||||
{ "fieldname": "screenshot", "fieldtype": "struct vr::VREvent_Screenshot_t"},
|
||||
{ "fieldname": "screenshotProgress", "fieldtype": "struct vr::VREvent_ScreenshotProgress_t"},
|
||||
{ "fieldname": "applicationLaunch", "fieldtype": "struct vr::VREvent_ApplicationLaunch_t"},
|
||||
{ "fieldname": "cameraSurface", "fieldtype": "struct vr::VREvent_EditingCameraSurface_t"}]}
|
||||
{ "fieldname": "cameraSurface", "fieldtype": "struct vr::VREvent_EditingCameraSurface_t"},
|
||||
{ "fieldname": "messageOverlay", "fieldtype": "struct vr::VREvent_MessageOverlay_t"}]}
|
||||
,{"struct": "vr::VREvent_t","fields": [
|
||||
{ "fieldname": "eventType", "fieldtype": "uint32_t"},
|
||||
{ "fieldname": "trackedDeviceIndex", "fieldtype": "TrackedDeviceIndex_t"},
|
||||
@ -1294,8 +1317,7 @@
|
||||
"params": [
|
||||
{ "paramname": "eEye" ,"paramtype": "vr::EVREye"},
|
||||
{ "paramname": "fNearZ" ,"paramtype": "float"},
|
||||
{ "paramname": "fFarZ" ,"paramtype": "float"},
|
||||
{ "paramname": "eProjType" ,"paramtype": "vr::EGraphicsAPIConvention"}
|
||||
{ "paramname": "fFarZ" ,"paramtype": "float"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@ -1713,7 +1735,7 @@
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRTrackedCamera",
|
||||
"methodname": "GetCameraIntrinisics",
|
||||
"methodname": "GetCameraIntrinsics",
|
||||
"returntype": "vr::EVRTrackedCameraError",
|
||||
"params": [
|
||||
{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"},
|
||||
@ -2572,6 +2594,25 @@
|
||||
{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "GetVulkanInstanceExtensionsRequired",
|
||||
"returntype": "uint32_t",
|
||||
"params": [
|
||||
{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"},
|
||||
{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "GetVulkanDeviceExtensionsRequired",
|
||||
"returntype": "uint32_t",
|
||||
"params": [
|
||||
{ "paramname": "pPhysicalDevice" ,"paramtype": "struct VkPhysicalDevice_T *"},
|
||||
{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"},
|
||||
{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "FindOverlay",
|
||||
@ -3100,8 +3141,9 @@
|
||||
{ "paramname": "pWidth" ,"paramtype": "uint32_t *"},
|
||||
{ "paramname": "pHeight" ,"paramtype": "uint32_t *"},
|
||||
{ "paramname": "pNativeFormat" ,"paramtype": "uint32_t *"},
|
||||
{ "paramname": "pAPI" ,"paramtype": "vr::EGraphicsAPIConvention *"},
|
||||
{ "paramname": "pColorSpace" ,"paramtype": "vr::EColorSpace *"}
|
||||
{ "paramname": "pAPIType" ,"paramtype": "vr::ETextureType *"},
|
||||
{ "paramname": "pColorSpace" ,"paramtype": "vr::EColorSpace *"},
|
||||
{ "paramname": "pTextureBounds" ,"paramtype": "struct vr::VRTextureBounds_t *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@ -3250,6 +3292,28 @@
|
||||
{ "paramname": "unPrimitiveSize" ,"paramtype": "uint32_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "GetOverlayFlags",
|
||||
"returntype": "vr::EVROverlayError",
|
||||
"params": [
|
||||
{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"},
|
||||
{ "paramname": "pFlags" ,"paramtype": "uint32_t *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "ShowMessageOverlay",
|
||||
"returntype": "vr::VRMessageOverlayResponse",
|
||||
"params": [
|
||||
{ "paramname": "pchText" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchCaption" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchButton0Text" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchButton1Text" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchButton2Text" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchButton3Text" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRRenderModels",
|
||||
"methodname": "LoadRenderModel_Async",
|
||||
|
@ -62,7 +62,7 @@ static const unsigned int k_unMaxPropertyStringSize = 32768;
|
||||
static const unsigned int k_unControllerStateAxisCount = 5;
|
||||
static const unsigned long k_ulOverlayHandleInvalid = 0;
|
||||
static const unsigned int k_unScreenshotHandleInvalid = 0;
|
||||
static const char * IVRSystem_Version = "IVRSystem_014";
|
||||
static const char * IVRSystem_Version = "IVRSystem_015";
|
||||
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
static const unsigned int k_unMaxApplicationKeyLength = 128;
|
||||
@ -71,12 +71,12 @@ static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
|
||||
static const char * IVRApplications_Version = "IVRApplications_006";
|
||||
static const char * IVRChaperone_Version = "IVRChaperone_003";
|
||||
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_018";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_019";
|
||||
static const unsigned int k_unVROverlayMaxKeyLength = 128;
|
||||
static const unsigned int k_unVROverlayMaxNameLength = 128;
|
||||
static const unsigned int k_unMaxOverlayCount = 64;
|
||||
static const unsigned int k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
|
||||
static const char * IVROverlay_Version = "IVROverlay_013";
|
||||
static const char * IVROverlay_Version = "IVROverlay_014";
|
||||
static const char * k_pch_Controller_Component_GDC2015 = "gdc2015";
|
||||
static const char * k_pch_Controller_Component_Base = "base";
|
||||
static const char * k_pch_Controller_Component_Tip = "tip";
|
||||
@ -123,6 +123,9 @@ static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
|
||||
static const char * k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
|
||||
static const char * k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
|
||||
static const char * k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
|
||||
static const char * k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
|
||||
static const char * k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
|
||||
static const char * k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
|
||||
static const char * k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
|
||||
static const char * k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
|
||||
static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
|
||||
@ -216,11 +219,12 @@ typedef enum EVREye
|
||||
EVREye_Eye_Right = 1,
|
||||
} EVREye;
|
||||
|
||||
typedef enum EGraphicsAPIConvention
|
||||
typedef enum ETextureType
|
||||
{
|
||||
EGraphicsAPIConvention_API_DirectX = 0,
|
||||
EGraphicsAPIConvention_API_OpenGL = 1,
|
||||
} EGraphicsAPIConvention;
|
||||
ETextureType_TextureType_DirectX = 0,
|
||||
ETextureType_TextureType_OpenGL = 1,
|
||||
ETextureType_TextureType_Vulkan = 2,
|
||||
} ETextureType;
|
||||
|
||||
typedef enum EColorSpace
|
||||
{
|
||||
@ -243,9 +247,8 @@ typedef enum ETrackedDeviceClass
|
||||
ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0,
|
||||
ETrackedDeviceClass_TrackedDeviceClass_HMD = 1,
|
||||
ETrackedDeviceClass_TrackedDeviceClass_Controller = 2,
|
||||
ETrackedDeviceClass_TrackedDeviceClass_GenericTracker = 3,
|
||||
ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4,
|
||||
ETrackedDeviceClass_TrackedDeviceClass_Count = 5,
|
||||
ETrackedDeviceClass_TrackedDeviceClass_Other = 1000,
|
||||
} ETrackedDeviceClass;
|
||||
|
||||
typedef enum ETrackedControllerRole
|
||||
@ -264,6 +267,7 @@ typedef enum ETrackingUniverseOrigin
|
||||
|
||||
typedef enum ETrackedDeviceProperty
|
||||
{
|
||||
ETrackedDeviceProperty_Prop_Invalid = 0,
|
||||
ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000,
|
||||
ETrackedDeviceProperty_Prop_ModelNumber_String = 1001,
|
||||
ETrackedDeviceProperty_Prop_SerialNumber_String = 1002,
|
||||
@ -376,6 +380,7 @@ typedef enum ETrackedPropertyError
|
||||
ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7,
|
||||
ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8,
|
||||
ETrackedPropertyError_TrackedProp_NotYetAvailable = 9,
|
||||
ETrackedPropertyError_TrackedProp_PermissionDenied = 10,
|
||||
} ETrackedPropertyError;
|
||||
|
||||
typedef enum EVRSubmitFlags
|
||||
@ -383,7 +388,7 @@ typedef enum EVRSubmitFlags
|
||||
EVRSubmitFlags_Submit_Default = 0,
|
||||
EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
|
||||
EVRSubmitFlags_Submit_GlRenderBuffer = 2,
|
||||
EVRSubmitFlags_Submit_VulkanTexture = 4,
|
||||
EVRSubmitFlags_Submit_Reserved = 4,
|
||||
} EVRSubmitFlags;
|
||||
|
||||
typedef enum EVRState
|
||||
@ -504,6 +509,7 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_PerformanceTest_EnableCapture = 1600,
|
||||
EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
EVREventType_VREvent_MessageOverlay_Closed = 1650,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
} EVREventType;
|
||||
@ -667,6 +673,8 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_Init_InvalidApplicationType = 130,
|
||||
EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
EVRInitError_VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
EVRInitError_VRInitError_Init_VRDashboardNotFound = 133,
|
||||
EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
EVRInitError_VRInitError_Driver_Failed = 200,
|
||||
EVRInitError_VRInitError_Driver_Unknown = 201,
|
||||
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
|
||||
@ -813,7 +821,7 @@ typedef enum ChaperoneCalibrationState
|
||||
ChaperoneCalibrationState_Warning_BaseStationRemoved = 102,
|
||||
ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103,
|
||||
ChaperoneCalibrationState_Error = 200,
|
||||
ChaperoneCalibrationState_Error_BaseStationUninitalized = 201,
|
||||
ChaperoneCalibrationState_Error_BaseStationUninitialized = 201,
|
||||
ChaperoneCalibrationState_Error_BaseStationConflict = 202,
|
||||
ChaperoneCalibrationState_Error_PlayAreaInvalid = 203,
|
||||
ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204,
|
||||
@ -876,8 +884,20 @@ typedef enum VROverlayFlags
|
||||
VROverlayFlags_Panorama = 12,
|
||||
VROverlayFlags_StereoPanorama = 13,
|
||||
VROverlayFlags_SortWithNonSceneOverlays = 14,
|
||||
VROverlayFlags_VisibleInDashboard = 15,
|
||||
} VROverlayFlags;
|
||||
|
||||
typedef enum VRMessageOverlayResponse
|
||||
{
|
||||
VRMessageOverlayResponse_ButtonPress_0 = 0,
|
||||
VRMessageOverlayResponse_ButtonPress_1 = 1,
|
||||
VRMessageOverlayResponse_ButtonPress_2 = 2,
|
||||
VRMessageOverlayResponse_ButtonPress_3 = 3,
|
||||
VRMessageOverlayResponse_CouldntFindSystemOverlay = 4,
|
||||
VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay = 5,
|
||||
VRMessageOverlayResponse_ApplicationQuit = 6,
|
||||
} VRMessageOverlayResponse;
|
||||
|
||||
typedef enum EGamepadTextInputMode
|
||||
{
|
||||
EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0,
|
||||
@ -987,7 +1007,6 @@ typedef int32_t TextureID_t;
|
||||
typedef uint32_t VRNotificationId;
|
||||
typedef EVRInitError HmdError;
|
||||
typedef EVREye Hmd_Eye;
|
||||
typedef EGraphicsAPIConvention GraphicsAPIConvention;
|
||||
typedef EColorSpace ColorSpace;
|
||||
typedef ETrackingResult HmdTrackingResult;
|
||||
typedef ETrackedDeviceClass TrackedDeviceClass;
|
||||
@ -1071,7 +1090,7 @@ typedef struct DistortionCoordinates_t
|
||||
typedef struct Texture_t
|
||||
{
|
||||
void * handle; // void *
|
||||
enum EGraphicsAPIConvention eType;
|
||||
enum ETextureType eType;
|
||||
enum EColorSpace eColorSpace;
|
||||
} Texture_t;
|
||||
|
||||
@ -1093,7 +1112,7 @@ typedef struct VRTextureBounds_t
|
||||
float vMax;
|
||||
} VRTextureBounds_t;
|
||||
|
||||
typedef struct VulkanData_t
|
||||
typedef struct VRVulkanTextureData_t
|
||||
{
|
||||
uint64_t m_nImage;
|
||||
struct VkDevice_T * m_pDevice; // struct VkDevice_T *
|
||||
@ -1105,7 +1124,7 @@ typedef struct VulkanData_t
|
||||
uint32_t m_nHeight;
|
||||
uint32_t m_nFormat;
|
||||
uint32_t m_nSampleCount;
|
||||
} VulkanData_t;
|
||||
} VRVulkanTextureData_t;
|
||||
|
||||
typedef struct VREvent_Controller_t
|
||||
{
|
||||
@ -1215,6 +1234,11 @@ typedef struct VREvent_EditingCameraSurface_t
|
||||
uint32_t nVisualMode;
|
||||
} VREvent_EditingCameraSurface_t;
|
||||
|
||||
typedef struct VREvent_MessageOverlay_t
|
||||
{
|
||||
uint32_t unVRMessageOverlayResponse;
|
||||
} VREvent_MessageOverlay_t;
|
||||
|
||||
typedef struct HiddenAreaMesh_t
|
||||
{
|
||||
struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t *
|
||||
@ -1453,7 +1477,7 @@ struct VROverlayIntersectionMaskPrimitive_t
|
||||
struct VR_IVRSystem_FnTable
|
||||
{
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight);
|
||||
struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType);
|
||||
struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV, struct DistortionCoordinates_t * pDistortionCoordinates);
|
||||
struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye);
|
||||
@ -1510,7 +1534,7 @@ struct VR_IVRTrackedCamera_FnTable
|
||||
char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedCameraError eCameraError);
|
||||
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex, bool * pHasCamera);
|
||||
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize);
|
||||
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinisics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter);
|
||||
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinsics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter);
|
||||
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, HmdMatrix44_t * pProjection);
|
||||
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingService)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle);
|
||||
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingService)(TrackedCameraHandle_t hTrackedCamera);
|
||||
@ -1631,6 +1655,8 @@ struct VR_IVRCompositor_FnTable
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize);
|
||||
};
|
||||
|
||||
struct VR_IVROverlay_FnTable
|
||||
@ -1691,7 +1717,7 @@ struct VR_IVROverlay_FnTable
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, EGraphicsAPIConvention * pAPI, EColorSpace * pColorSpace);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, ETextureType * pAPIType, EColorSpace * pColorSpace, struct VRTextureBounds_t * pTextureBounds);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverlayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle);
|
||||
@ -1708,6 +1734,8 @@ struct VR_IVROverlay_FnTable
|
||||
void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboardTransform);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayHandle_t ulOverlayHandle, struct HmdRect2_t avoidRect);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags);
|
||||
VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text);
|
||||
};
|
||||
|
||||
struct VR_IVRRenderModels_FnTable
|
||||
|
@ -111,10 +111,11 @@ enum EVREye
|
||||
Eye_Right = 1
|
||||
};
|
||||
|
||||
enum EGraphicsAPIConvention
|
||||
enum ETextureType
|
||||
{
|
||||
API_DirectX = 0, // Normalized Z goes from 0 at the viewer to 1 at the far clip plane
|
||||
API_OpenGL = 1, // Normalized Z goes from 1 at the viewer to -1 at the far clip plane
|
||||
TextureType_DirectX = 0, // Handle is an ID3D11Texture
|
||||
TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags
|
||||
TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure
|
||||
};
|
||||
|
||||
enum EColorSpace
|
||||
@ -126,8 +127,8 @@ enum EColorSpace
|
||||
|
||||
struct Texture_t
|
||||
{
|
||||
void* handle; // Native d3d texture pointer or GL texture id.
|
||||
EGraphicsAPIConvention eType;
|
||||
void* handle; // See ETextureType definition above
|
||||
ETextureType eType;
|
||||
EColorSpace eColorSpace;
|
||||
};
|
||||
|
||||
@ -161,11 +162,8 @@ enum ETrackedDeviceClass
|
||||
TrackedDeviceClass_Invalid = 0, // the ID was not valid.
|
||||
TrackedDeviceClass_HMD = 1, // Head-Mounted Displays
|
||||
TrackedDeviceClass_Controller = 2, // Tracked controllers
|
||||
TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers
|
||||
TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points
|
||||
|
||||
TrackedDeviceClass_Count, // This isn't a class that will ever be returned. It is used for allocating arrays and such
|
||||
|
||||
TrackedDeviceClass_Other = 1000,
|
||||
};
|
||||
|
||||
|
||||
@ -198,7 +196,7 @@ enum ETrackingUniverseOrigin
|
||||
{
|
||||
TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose
|
||||
TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user
|
||||
TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. You probably don't want this one.
|
||||
TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one.
|
||||
};
|
||||
|
||||
|
||||
@ -206,6 +204,8 @@ enum ETrackingUniverseOrigin
|
||||
* tracked device. Many fields are only valid for one ETrackedDeviceClass. */
|
||||
enum ETrackedDeviceProperty
|
||||
{
|
||||
Prop_Invalid = 0,
|
||||
|
||||
// general properties that apply to all device classes
|
||||
Prop_TrackingSystemName_String = 1000,
|
||||
Prop_ModelNumber_String = 1001,
|
||||
@ -333,6 +333,7 @@ enum ETrackedPropertyError
|
||||
TrackedProp_ValueNotProvidedByDevice = 7,
|
||||
TrackedProp_StringExceedsMaximumLength = 8,
|
||||
TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later.
|
||||
TrackedProp_PermissionDenied = 10,
|
||||
};
|
||||
|
||||
/** Allows the application to control what part of the provided texture will be used in the
|
||||
@ -358,13 +359,13 @@ enum EVRSubmitFlags
|
||||
// If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag.
|
||||
Submit_GlRenderBuffer = 0x02,
|
||||
|
||||
// Handle is pointer to VulkanData_t
|
||||
Submit_VulkanTexture = 0x04,
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
* Be sure to call OpenVR_Shutdown before destroying these resources. */
|
||||
struct VulkanData_t
|
||||
struct VRVulkanTextureData_t
|
||||
{
|
||||
uint64_t m_nImage; // VkImage
|
||||
VkDevice_T *m_pDevice;
|
||||
@ -517,6 +518,8 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_EnableCapture = 1600,
|
||||
VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@ -703,6 +706,11 @@ struct VREvent_EditingCameraSurface_t
|
||||
uint32_t nVisualMode;
|
||||
};
|
||||
|
||||
struct VREvent_MessageOverlay_t
|
||||
{
|
||||
uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum
|
||||
};
|
||||
|
||||
/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */
|
||||
typedef union
|
||||
{
|
||||
@ -724,6 +732,7 @@ typedef union
|
||||
VREvent_ScreenshotProgress_t screenshotProgress;
|
||||
VREvent_ApplicationLaunch_t applicationLaunch;
|
||||
VREvent_EditingCameraSurface_t cameraSurface;
|
||||
VREvent_MessageOverlay_t messageOverlay;
|
||||
} VREvent_Data_t;
|
||||
|
||||
/** An event posted by the server to all running applications */
|
||||
@ -944,6 +953,8 @@ enum EVRInitError
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
@ -1257,7 +1268,6 @@ namespace vr
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// steamvr keys
|
||||
|
||||
static const char * const k_pch_SteamVR_Section = "steamvr";
|
||||
static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd";
|
||||
static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
|
||||
@ -1294,27 +1304,26 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
|
||||
static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
|
||||
static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
|
||||
static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
|
||||
static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
|
||||
static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
|
||||
static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
|
||||
static const char * const k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
|
||||
static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
|
||||
static const char * const k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
|
||||
|
||||
static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
|
||||
static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// null keys
|
||||
|
||||
static const char * const k_pch_Null_Section = "driver_null";
|
||||
static const char * const k_pch_Null_EnableNullDriver_Bool = "enable";
|
||||
static const char * const k_pch_Null_SerialNumber_String = "serialNumber";
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
27
examples/ThirdPartyLibs/openvr/samples/shared/compat.h
Normal file
27
examples/ThirdPartyLibs/openvr/samples/shared/compat.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef OPENVR_SAMPLES_SHARED_COMPAT_H_
|
||||
#define OPENVR_SAMPLES_SHARED_COMPAT_H_
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <cassert>
|
||||
|
||||
// Handle non standard code.
|
||||
#ifndef _WIN32
|
||||
|
||||
#include <cstdbool>
|
||||
#include <unistd.h>
|
||||
|
||||
#define sprintf_s snprintf
|
||||
#define vsprintf_s sprintf
|
||||
#define _stricmp strcmp
|
||||
#define stricmp strcmp
|
||||
#define strcpy_s(dst, n, src) int(strncpy(dst, src, n) != nullptr)
|
||||
#define fopen_s(fd, path, mode) int((*fd = fopen(path, mode)) != nullptr)
|
||||
#define _vsnprintf_s(buffer, size, fmt, ap) vsnprintf(buffer, size, fmt, ap)
|
||||
#define OutputDebugStringA(x) fprintf(stderr, "%s\n", x)
|
||||
|
||||
typedef int errno_t;
|
||||
|
||||
#endif // _WIN32
|
||||
|
||||
#endif // OPENVR_SAMPLES_SHARED_COMPAT_H_
|
Loading…
Reference in New Issue
Block a user