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);

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

Reply via email to