[Bf-blender-cvs] [072f453] HMD_viewport: Merge branch 'master' into HMD_viewport
Julian Eisel
noreply at git.blender.org
Fri May 20 01:19:39 CEST 2016
Commit: 072f4534481f02659bbfcca05d46b376d1e73a69
Author: Julian Eisel
Date: Fri May 20 01:13:43 2016 +0200
Branches: HMD_viewport
https://developer.blender.org/rB072f4534481f02659bbfcca05d46b376d1e73a69
Merge branch 'master' into HMD_viewport
Conflicts:
release/scripts/startup/bl_ui/properties_data_camera.py
source/blender/blenkernel/BKE_blender.h
source/blender/blenloader/intern/versioning_270.c
source/blender/editors/interface/interface_handlers.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/makesdna/DNA_camera_types.h
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_operators.c
===================================================================
===================================================================
diff --cc release/scripts/startup/bl_ui/properties_data_camera.py
index d5ece91,c6fa77a..c9352b8
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@@ -156,23 -154,26 +156,31 @@@ class DATA_PT_camera_stereoscopy(Camera
is_spherical_stereo = cam.type != 'ORTHO' and render.use_spherical_stereo
use_spherical_stereo = is_spherical_stereo and st.use_spherical_stereo
- col = layout.column()
- col.row().prop(st, "convergence_mode", expand=True)
+ if render.views_format == 'HMD':
+ col.prop(st, "use_device_ipd")
+ subcol = col.column()
+ subcol.active = not st.use_device_ipd
+ subcol.prop(st, "interocular_distance")
+ else:
+ col.row().prop(st, "convergence_mode", expand=True)
- sub = col.column()
- sub.active = st.convergence_mode != 'PARALLEL'
- sub.prop(st, "convergence_distance")
+ sub = col.column()
+ sub.active = st.convergence_mode != 'PARALLEL'
+ sub.prop(st, "convergence_distance")
- col.prop(st, "interocular_distance")
+ col.prop(st, "interocular_distance")
- if is_spherical_stereo:
- col.separator()
- row = col.row()
- row.prop(st, "use_spherical_stereo")
- sub = row.row()
- sub.active = st.use_spherical_stereo
- sub.prop(st, "use_pole_merge")
- row = col.row(align=True)
- row.active = st.use_pole_merge
- row.prop(st, "pole_merge_angle_from")
- row.prop(st, "pole_merge_angle_to")
+ if is_spherical_stereo:
+ col.separator()
- col.prop(st, "use_spherical_stereo")
++ row = col.row()
++ row.prop(st, "use_spherical_stereo")
++ sub = row.row()
++ sub.active = st.use_spherical_stereo
++ sub.prop(st, "use_pole_merge")
++ row = col.row(align=True)
++ row.active = st.use_pole_merge
++ row.prop(st, "pole_merge_angle_from")
++ row.prop(st, "pole_merge_angle_to")
col.label(text="Pivot:")
row = col.row()
diff --cc source/blender/blenloader/intern/versioning_270.c
index dcdd510,0ea4078..a1251f8
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1073,11 -1117,88 +1117,95 @@@ void blo_do_versions_270(FileData *fd,
}
}
- if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "char", "hmd_view_shade")) {
+ for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+ CurvePaintSettings *cps = &scene->toolsettings->curve_paint_settings;
+ if (cps->error_threshold == 0) {
+ cps->curve_type = CU_BEZIER;
+ cps->flag |= CURVE_PAINT_FLAG_CORNERS_DETECT;
+ cps->error_threshold = 8;
+ cps->radius_max = 1.0f;
+ cps->corner_angle = DEG2RADF(70.0f);
+ }
+ }
+
+ for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+ Sequence *seq;
+
+ SEQ_BEGIN (scene->ed, seq)
+ {
+ if (seq->type == SEQ_TYPE_TEXT) {
+ TextVars *data = seq->effectdata;
+ if (data->color[3] == 0.0f) {
+ copy_v4_fl(data->color, 1.0f);
+ data->shadow_color[3] = 1.0f;
+ }
+ }
+ }
+ SEQ_END
+ }
+
+ /* Adding "Properties" region to DopeSheet */
+ for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) {
+ for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
+ /* handle pushed-back space data first */
+ for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
+ if (sl->spacetype == SPACE_ACTION) {
+ SpaceAction *saction = (SpaceAction *)sl;
+ do_version_action_editor_properties_region(&saction->regionbase);
+ }
+ }
+
+ /* active spacedata info must be handled too... */
+ if (sa->spacetype == SPACE_ACTION) {
+ do_version_action_editor_properties_region(&sa->regionbase);
+ }
+ }
+ }
+ }
+
+ if (!MAIN_VERSION_ATLEAST(main, 277, 2)) {
+ if (!DNA_struct_elem_find(fd->filesdna, "Bone", "float", "scaleIn")) {
+ for (bArmature *arm = main->armature.first; arm; arm = arm->id.next) {
+ do_version_bones_super_bbone(&arm->bonebase);
+ }
+ }
+ if (!DNA_struct_elem_find(fd->filesdna, "bPoseChannel", "float", "scaleIn")) {
+ for (Object *ob = main->object.first; ob; ob = ob->id.next) {
+ if (ob->pose) {
+ for (bPoseChannel *pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
+ /* see do_version_bones_super_bbone()... */
+ pchan->scaleIn = 1.0f;
+ pchan->scaleOut = 1.0f;
+
+ /* also make sure some legacy (unused for over a decade) flags are unset,
+ * so that we can reuse them for stuff that matters now...
+ * (i.e. POSE_IK_MAT, (unknown/unused x 4), POSE_HAS_IK)
+ *
+ * These seem to have been runtime flags used by the IK solver, but that stuff
+ * should be able to be recalculated automatically anyway, so it should be fine.
+ */
+ pchan->flag &= ~((1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7) | (1 << 8));
+ }
+ }
+ }
+ }
+ }
+
+ {
+ for (Camera *camera = main->camera.first; camera != NULL; camera = camera->id.next) {
+ if (camera->stereo.pole_merge_angle_from == 0.0f &&
+ camera->stereo.pole_merge_angle_to == 0.0f)
+ {
+ camera->stereo.pole_merge_angle_from = DEG2RAD(60.0f);
+ camera->stereo.pole_merge_angle_to = DEG2RAD(75.0f);
+ }
+ }
+ }
++
++ if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "char", "hmd_view_shade")) {
+ for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+ scene->r.hmd_view_shade = OB_MATERIAL;
+ scene->r.hmd_fx_flags |= GPU_FX_FLAG_LensDist;
+ }
+ }
- }
}
diff --cc source/blender/makesdna/DNA_camera_types.h
index bb6447d,6874157..87602fc
--- a/source/blender/makesdna/DNA_camera_types.h
+++ b/source/blender/makesdna/DNA_camera_types.h
@@@ -152,7 -156,7 +156,8 @@@ enum
/* stereo->flag */
enum {
CAM_S3D_SPHERICAL = (1 << 0),
- CAM_S3D_CUSTOM_IPD = (1 << 1),
+ CAM_S3D_POLE_MERGE = (1 << 1),
++ CAM_S3D_CUSTOM_IPD = (1 << 2),
};
#ifdef __cplusplus
diff --cc source/blender/makesrna/intern/rna_camera.c
index 5fa997d,dcb4d65..f2570ee
--- a/source/blender/makesrna/intern/rna_camera.c
+++ b/source/blender/makesrna/intern/rna_camera.c
@@@ -130,15 -130,9 +130,15 @@@ static void rna_def_camera_stereo_data(
RNA_def_property_ui_text(prop, "Pivot", "");
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, NULL);
+ prop = RNA_def_property(srna, "use_device_ipd", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", CAM_S3D_CUSTOM_IPD);
+ RNA_def_property_ui_text(prop, "Interocular Distance from HMD",
+ "Request the interocular distance (distance between eyes) from the HMD driver");
+ RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, NULL);
+
prop = RNA_def_property(srna, "interocular_distance", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_range(prop, 0.0f, 100.0f);
- RNA_def_property_ui_range(prop, 0.0f, 1.f, 1, 2);
+ RNA_def_property_ui_range(prop, 0.0f, 1.f, 1, 3);
RNA_def_property_ui_text(prop, "Interocular Distance",
"Set the distance between the eyes - the stereo plane distance / 30 should be fine");
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, NULL);
More information about the Bf-blender-cvs
mailing list