[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