Blender Git Loki

Blender Git "temp-vr-draw-thread" branch commits.

Page: 5 / 9

June 28, 2019, 20:53 (GMT)
Move WM level XR functions to wm_xr.c

Operator is still in wm_operators.c, but only calls wm_xr.c functions.
June 28, 2019, 14:24 (GMT)
Support Window-less (offscreen) VR session on Windows

Uses the new wmSurface type (non-window drawable container) to manage
the OpenGL, DirectX and GPU module contexts. The draw callback of the XR
surface calls the GHOST_Xr session drawing routines.

What you should see when starting a VR session now (using the WMR
runtime): The Windows Mixed Reality Portal pops up, and a blue
background is drawn on the HMD. This is from the blue color clear call
we do in the drawing preparations of the GHOST_Xr session drawing.
June 28, 2019, 12:09 (GMT)
Merge branch 'master' into soc-2019-openxr
June 28, 2019, 11:56 (GMT)
Avoid std::vector copy
June 28, 2019, 11:38 (GMT)
Add wmSurface for non-Window offscreen VR session drawing

Adds a wmSurface type which acts as a container for non-Window (offscreen)
draw surfaces. Ideally wmWindow would of course also just do C-style
inheritance from wmSurface, but I guess they can co-exist too.
For the VR session a surface is created on Linux and passed to the
graphics binding to use.

Note this is not used on Windows yet, it still opens a window there.
June 27, 2019, 17:55 (GMT)
Fix compile/CMake errors and warnings on Linux
June 27, 2019, 17:17 (GMT)
Finish VR view drawing callback set up

* Allow passing custom data to session draw function, passed to the
callback
* Actually call the callback
* Create and bind a WM level callback. Will later be used to draw the
viewport.

Also, check if session is actually visible before drawing.
June 27, 2019, 16:56 (GMT)
Don't use Microsoft::WRL::ComPtr<...> for COM types

Makes things difficult if you're not familar with COM.
June 26, 2019, 16:39 (GMT)
Merge branch 'master' into soc-2019-openxr
June 24, 2019, 19:22 (GMT)
The first pixels pushed to Windows Mixed Reality HMDs!

Just a clear call for now, so all you see is a blue world. This blue
"world" is however drawn by Blender!

Also fixes use after destruction of compositor layer data.
June 24, 2019, 14:44 (GMT)
Set up OpenXR compositing layers for drawing

That should be one of the last steps to prepare pushing pixels to HMDs.
Fingers crossed!
June 24, 2019, 10:52 (GMT)
Merge branch 'master' into soc-2019-openxr
June 23, 2019, 16:27 (GMT)
Set up OpenXR views and spaces for drawing

Using a dummy identity pose at {0, 0, 0} to start with. This should
later use the current viewport position & orientation I guess.

Also adds function to set a draw callback. There's quite some OpenXR
related stuff to be done before and after drawing anyting, as well as
before and after drawing each view (eye). Quite some info would have to
be exposed to WM to let it manage drawing. So I think using a callback
called from GHOST_Xr to draw each eye instead is a good way to go.

VR session currently crashes after opening. Seems to be related to
blocking frame wait call. I'm not too worried about that though, might
disappear once OpenXR frame sync functions get proper timing info
passed.
June 23, 2019, 13:42 (GMT)
Bring back wm_xr.c for higher level XR functions
June 23, 2019, 11:47 (GMT)
Execute necessary OpenXR frame timing calls
June 23, 2019, 00:46 (GMT)
Correctly destruct swapchain on shutdown
June 23, 2019, 00:12 (GMT)
Create graphics binding specific swapchain images

Following the OpenXR SDK's example code very closely here. We have to do
some nasty converting of graphics binding specific image vectors to
generalized base ones. The SDK's approach seems like a good way to go
about this.
June 22, 2019, 22:37 (GMT)
Use abstract class/interface for generalized graphics binding operations

Rather than having switch case blocks throughout the session code, give
binding operations an own interface with dedicated implementations.
June 22, 2019, 20:08 (GMT)
Fix error causing sessions to not start correctly

With this, the Windows Mixed Reality Portal finally pops up when
starting the session. That is how it's supposed to work. After it's
initialization phase all you see is black. That's expected too as we
don't send anything to the device yet.
June 22, 2019, 19:25 (GMT)
OpenXR swapchain creation

Nothing special to say. Just calls needed OpenXR functions to create
swapchains. Swapchain images are not created yet.

Interestingly, the Windows Mixed Realtiy portal now pops up when closing
Blender after having created a VR session. So we're getting closer ;)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021