Commit: 07706a28d083f272de8d08126f6aa5b7f78981b0
Author: Julian Eisel
Date:   Sun Mar 5 20:36:30 2017 +0100
Branches: HMD_viewport
https://developer.blender.org/rB07706a28d083f272de8d08126f6aa5b7f78981b0

"Only Render" option for HMD view

===================================================================

M       release/scripts/startup/bl_ui/space_view3d.py
M       source/blender/makesdna/DNA_windowmanager_types.h
M       source/blender/makesrna/intern/rna_wm.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_view3d.py 
b/release/scripts/startup/bl_ui/space_view3d.py
index 3bcfb9a1f6..e8ebc5b1e3 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -3412,7 +3412,10 @@ class VIEW3D_PT_view3d_hmd_view(Panel):
         row.operator("wm.hmd_session_run", text=text_run, icon=icon_run)
         layout.prop(view, "use_hmd_mirror")
 
+        layout.separator()
+
         layout.prop(wm, "hmd_view_shade", text="Shading")
+        layout.prop(wm, "hmd_view_show_only_render")
 
 
 class VIEW3D_PT_view3d_motion_tracking(Panel):
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h 
b/source/blender/makesdna/DNA_windowmanager_types.h
index 24389440b9..4efb283849 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -131,7 +131,14 @@ typedef struct ReportTimerInfo {
 
 struct HMDViewInfo {
        struct wmWindow *hmd_win;         /* HMD (virtual reality) window. 
Stored to avoid lookups. */
-       char view_shade, pad[7]; /* rna_enum_viewport_shade_items */
+
+       char view_shade; /* rna_enum_viewport_shade_items */
+       char flag;
+       char pad[6];
+};
+
+enum {
+       HMD_VIEW_RENDER_OVERRIDE = (1 << 0), /* only render (equivalent to 
V3D_RENDER_OVERRIDE) */
 };
 
 /* windowmanager is saved, tag WMAN */
diff --git a/source/blender/makesrna/intern/rna_wm.c 
b/source/blender/makesrna/intern/rna_wm.c
index f502025da3..90b592f16e 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -976,6 +976,31 @@ static void rna_hmd_view_shade_set(PointerRNA *ptr, int 
value)
        }
 }
 
+static void rna_hmd_view_show_only_render_update(Main *UNUSED(bmain), Scene 
*UNUSED(scene), PointerRNA *ptr)
+{
+       wmWindowManager *wm = ptr->data;
+       wmWindow *win = wm->hmd_view.hmd_win;
+
+       if (win) {
+               for (ScrArea *sa = win->screen->areabase.first; sa; sa = 
sa->next) {
+                       if (sa->spacetype == SPACE_VIEW3D) {
+                               View3D *v3d = sa->spacedata.first;
+
+                               if (wm->hmd_view.flag & 
HMD_VIEW_RENDER_OVERRIDE) {
+                                       v3d->flag2 |= V3D_RENDER_OVERRIDE;
+                               }
+                               else {
+                                       v3d->flag2 &= ~V3D_RENDER_OVERRIDE;
+                               }
+
+                               ED_area_tag_redraw(sa);
+                               /* we assume one 3D view only */
+                               break;
+                       }
+               }
+       }
+}
+
 #endif /* WITH_INPUT_HMD */
 
 #ifdef WITH_PYTHON
@@ -2069,6 +2094,11 @@ static void rna_def_windowmanager(BlenderRNA *brna)
        RNA_def_property_enum_items(prop, rna_enum_viewport_shade_items);
        RNA_def_property_enum_funcs(prop, NULL, "rna_hmd_view_shade_set", NULL);
        RNA_def_property_ui_text(prop, "HMD View Shading", "Method to draw in 
the HMD view");
+
+       prop = RNA_def_property(srna, "hmd_view_show_only_render", 
PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "hmd_view.flag", 
HMD_VIEW_RENDER_OVERRIDE);
+       RNA_def_property_ui_text(prop, "Only Render", "Display only objects 
which will be rendered");
+       RNA_def_property_update(prop, 0, 
"rna_hmd_view_show_only_render_update");
 #endif
 
        RNA_api_wm(srna);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to