Revision fb64675 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 19, 2019, 17:09 (GMT) |
Fix invalid delete operator use Again a thing MSVC should warn about but didn't... |
Revision 7638513 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 19, 2019, 16:30 (GMT) |
Use friend class to access graphics data on Windows too Also fix memory leak. |
Revision b18f5a6 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 19, 2019, 15:23 (GMT) |
Pass graphics context data to OpenXR graphics bindings on Linux too Refactors function into a class, and make this class a friend of GHOST_ContextGLX. That seems like a better way to access low level graphics data for this specific case, rather than giving anyone access via a getter. |
Revision 9d29373 by Julian Eisel (soc-2019-openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 19, 2019, 10:20 (GMT) |
Init OpenXR graphics bindings with valid graphics context (Win only) Will do this for Linux in a separate commit. Also fixes a stupid mistake from previous commit on lazy-creation of XR context. |
Revision f2f1e4d by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 18, 2019, 23:00 (GMT) |
Remove CTX_wm_xr_context Not really useful, plus XR-Context is now GHOST data. |
Revision 0da0f29 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 18, 2019, 22:57 (GMT) |
Rename of XR types (WM -> GHOST) |
Revision a8519db by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 18, 2019, 22:44 (GMT) |
Lazy-create XR-context Creating the context causes the OpenXR loader to try connect to a runtime. That would involve reading the OS'es active_runtime.json and dynamic linking based on that. So better avoid doing this on startup. Also: don't pay for what you don't use! |
Revision d15d07c by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 18, 2019, 22:28 (GMT) |
Rename wm_xr_ -> GHOST_XR |
Revision d356787 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 18, 2019, 21:50 (GMT) |
Merge branch 'soc-2019-openxr' into temp-ghost_openxr |
Revision a284fa3 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 18, 2019, 21:49 (GMT) |
Merge branch 'master' into soc-2019-openxr |
Revision 4eeb752 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 17, 2019, 23:02 (GMT) |
Use some C++ features where useful Also correct include guards. |
Revision f30fcd6 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 17, 2019, 21:45 (GMT) |
Initially move XR files to GHOST and compile in C++ |
Revision 47e8133 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 17, 2019, 20:24 (GMT) |
Merge branch 'master' into soc-2019-openxr |
Revision 3fa7d59 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 16, 2019, 23:24 (GMT) |
Fail without crashing if no runtime is found For now simply do nothing. Plan is to work on proper error handling and reporting later. |
Revision df8dc43 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 16, 2019, 21:28 (GMT) |
Fix compile errors and warnings on certain configs Addresses: * Compile error on Linux * Compile error with WITH_OPENXR disabled * Unused parameter warnings |
Revision 3b0a2fe by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 16, 2019, 21:12 (GMT) |
Fix missing return value... how did this work even? Looking at the code this should've failed miserably. No idea how this could still work fine... Maybe return vars used same stack location? |
Revision 80af6d5 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 16, 2019, 20:58 (GMT) |
Merge branch 'master' into soc-2019-openxr |
Revision 71c7d61 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 16, 2019, 19:46 (GMT) |
Draw OpenGL framebuffer upside down in DirectX windows DirectX is Y coordinates top to bottom, while OpenGL is the opposite. For the final window manager on-screen drawing, draw to a texture first and draw that upside down if needed. |
Revision 637b803 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 16, 2019, 19:05 (GMT) |
Support drawing the VR view into a DirectX window! Phew! That a fight. But this is also a pretty important feature as it allows interfacing with Windows Mixed Reality OpenXR runtime and the HMDs supported by it. Important remaining issue: The rendered viewport is upside down :) That is of course because DirectX has the opposite vertical direction than OpenGL. When creating a DirectX window, we also create an OpenGL offscreen context to use for all drawing. Just before swapping framebuffers, the DirectX window blits the framebuffer of the offscreen context into its swapchain. This requires the WGL_NV_DX_interop and WGL_NV_DX_interop2 extensions. For testing/dev purposes, also adds: * Version of the offscreen to onscreen blitting that's OpenGL only. So it blits the default framebuffer of the offscreen context into the one of the onscreen context. This is disabled by a #define. * Code to draw a colored triangle using DirectX, also for testing. Requires the D3DCompiler.lib to be available at compile time. This is also disabled using a #define. |
Revision 314eef0 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 14, 2019, 18:41 (GMT) |
Merge branch 'master' into soc-2019-openxr |
|