Blender Git Loki
Git Commits -> Revision 34fa0f8
Revision 34fa0f8 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 14, 2019, 17:07 (GMT) |
Set up DirectX window to support drawing With this the VR window should open fine and get cleared in a red-ish orange using Direct3D 11 calls (well, on Windows that is). The window still draws a 3D view to an offscreen buffer. Where we usually just swap the buffers, we now allow calling a GHOST function to blit the offscreen OpenGL buffer to whatever type of graphics buffer the window uses (DirectX here). The nice thing about this approach is that all DirectX code stays in GHOST_ContextD3D.cpp. And the entire compatibiliy code can go into a single function higher level modules don't need to care about. This also fixes a number of issues introduced in earlier commits. |
Commit Details:
Full Hash: 34fa0f8ac69afb1770a0561092fc3ae9f6cec793
Parent Commit: 1636672
Lines Changed: +105, -64
14 Modified Paths:
/intern/ghost/GHOST_C-api.h (+2, -9) (Diff)
/intern/ghost/GHOST_IWindow.h (+2, -0) (Diff)
/intern/ghost/intern/GHOST_C-api.cpp (+4, -5) (Diff)
/intern/ghost/intern/GHOST_Context.h (+6, -0) (Diff)
/intern/ghost/intern/GHOST_ContextD3D.cpp (+47, -21) (Diff)
/intern/ghost/intern/GHOST_ContextD3D.h (+8, -6) (Diff)
/intern/ghost/intern/GHOST_SystemWin32.cpp (+7, -3) (Diff)
/intern/ghost/intern/GHOST_Window.cpp (+5, -0) (Diff)
/intern/ghost/intern/GHOST_Window.h (+2, -0) (Diff)
/intern/ghost/intern/GHOST_WindowWin32.cpp (+7, -15) (Diff)
/source/blender/windowmanager/intern/wm_draw.c (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+12, -2) (Diff)
/source/blender/windowmanager/wm_window.h (+1, -1) (Diff)
/intern/ghost/GHOST_IWindow.h (+2, -0) (Diff)
/intern/ghost/intern/GHOST_C-api.cpp (+4, -5) (Diff)
/intern/ghost/intern/GHOST_Context.h (+6, -0) (Diff)
/intern/ghost/intern/GHOST_ContextD3D.cpp (+47, -21) (Diff)
/intern/ghost/intern/GHOST_ContextD3D.h (+8, -6) (Diff)
/intern/ghost/intern/GHOST_SystemWin32.cpp (+7, -3) (Diff)
/intern/ghost/intern/GHOST_Window.cpp (+5, -0) (Diff)
/intern/ghost/intern/GHOST_Window.h (+2, -0) (Diff)
/intern/ghost/intern/GHOST_WindowWin32.cpp (+7, -15) (Diff)
/source/blender/windowmanager/intern/wm_draw.c (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+12, -2) (Diff)
/source/blender/windowmanager/wm_window.h (+1, -1) (Diff)