Revision e8f66ff by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 31, 2019, 00:18 (GMT) |
Update OpenXR to version 1.0 Only tested on Windows. Updates loader sources from the OpenXR SDK to latest 1.0 SDK and updates requiremed version to 1.0. The compile time generation of files is a thing of the past now (although you can still force it). 1.0 got released yesterday. Only one line needed fixing in our OpenXR code to get it to compile. Rendering is black though. For now I tried to keep edits to CMakeList.txt files minimal. So now there are OpenXR CMake options exposed (with bad names), CMake prints, etc. |
Revision 9ac33e5 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 30, 2019, 20:19 (GMT) |
Merge branch 'master' into soc-2019-openxr |
Revision 091cc94 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 24, 2019, 14:41 (GMT) |
Use fixed lighting, don't make it rotate with view rotation |
Revision fc31be5 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 24, 2019, 00:52 (GMT) |
Fix broken VR viewport rotation and movement |
Revision aff49f6 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 23, 2019, 23:39 (GMT) |
Use draw manager offscreen context for the VR session This way we avoid the big overhead of context switches. Makes frames render about twice as fast here. For heavy Spring scenes I'm getting around 20 FPS here, classroom scene is at 50 FPS. This is great given that drawing itself still isn't optimized for dual eye rendering. |
Revision 57b77cd by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 23, 2019, 17:16 (GMT) |
Print 8 Frame average FPS for --debug-xr-time Much more useful than a per frame FPS estimation. 8 frames are used for the Blender viewport FPS stats too. Refactored drawing data storage a bit. |
Revision d58eb8d by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 23, 2019, 00:06 (GMT) |
Add --debug-xr-time command line option for VR frame time info prints Outputs frame render time in milliseconds and FPS this time would add up to. We could average times so FPS is a bit more stable, but the precision of un-averaged results may be helpful too. |
Revision a4310ba by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 22, 2019, 22:18 (GMT) |
Merge branch 'master' into soc-2019-openxr |
Revision bd42740 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 21, 2019, 11:15 (GMT) |
Silence GCC warning |
Revision 679a4c3 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 21, 2019, 01:18 (GMT) |
Fix compile error with bundled OpenXR sources |
Revision 5536243 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 20, 2019, 23:10 (GMT) |
Fix troubling memory leak in offscreen viewport drawing I'm not really sure why the leak happened - draw manager kept allocating certain buffers - but I figured I could avoid it by not recreating GPU_offscreen/GPU_viewport on every redraw. This should also improve performance a bit. |
Revision c1d1640 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 20, 2019, 17:34 (GMT) |
Pure OpenGL backend works now, let it take priority over DirectX |
Revision 3a4034a by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 20, 2019, 17:33 (GMT) |
Make OpenGL-only session backend work Previously, only DirectX HMD rendering would work (and still takes priority). |
Revision a0be113 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 17, 2019, 13:18 (GMT) |
Fix DirectX context not freed on session exit Also rename XrSurfaceData to wmXrSurfaceData |
Revision 151fb12 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 17, 2019, 12:51 (GMT) |
Fix for previous commit, accidental call to xrDestroySwapchain |
Revision 165c5a5 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 17, 2019, 12:05 (GMT) |
Fix possible OpenXR swapchain leak by using new unique_oxr_ptr |
Revision 74fc1db by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 17, 2019, 11:35 (GMT) |
Add helper class to RAII manage OpenXR handles Adds generic unique_oxr_ptr to wrap xrCreate and xrDestroy functions of OpenXR handles into a unique_ptr like RAII interface. While for most cases, OpenXR resources can be freed by their owning object, sometimes errors may occor before final ownership is established. E.g. swapchain ownership is only transfered to the session object once its swapchain-images are created - which may fail. With this RAII wrapper, the swapchain would be freed on error (as this triggers stack unwinding through an exception), no matter who holds ownership to it currently. There are other solutions to this problem, e.g. by establishing final ownership right after/upon creation, or by explicit freeing in case an error is spotted; it's too easy to make mistakes here though. Plus, we may want to experiment with using this API for all OpenXR resources, to entirely avoid the possibility of them leaking. |
Revision 03ff2a8 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 17, 2019, 09:29 (GMT) |
Fix compile error with USE_FORCE_WINDOWED_SESSION enabled At least get it to compile, this is still kinda broken though. |
Revision d99d15f by Ray molenkamp (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 16, 2019, 22:41 (GMT) |
Add helper batch file for testing on oculus rift. |
Revision 6a99883 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) July 16, 2019, 19:48 (GMT) |
Temporarily let DirectX take priority over OpenGL OpenGL doesn't work yet. Shouldn't be too difficult to get working, but I don't have a working OpenXR runtime with OpenGL support to test here. |
|