[Bf-blender-cvs] [07706a28d0] HMD_viewport: "Only Render" option for HMD view
Julian Eisel
noreply at git.blender.org
Sun Mar 5 20:38:06 CET 2017
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);
More information about the Bf-blender-cvs
mailing list