Commit: 95074bcd129778c5b7fcfb32d37b789360059710
Author: Julian Eisel
Date: Wed Jun 8 20:06:30 2016 +0200
Branches: HMD_viewport
https://developer.blender.org/rB95074bcd129778c5b7fcfb32d37b789360059710
Always use parallel convergence in HMD mode
Previously it was just using whatever was set in non-HMD mode.
I guess using parallel convergence for usage with HMDs is correct, could be
wrong though ;)
===================================================================
M source/blender/blenkernel/intern/camera.c
M source/blender/editors/space_view3d/drawobject.c
===================================================================
diff --git a/source/blender/blenkernel/intern/camera.c
b/source/blender/blenkernel/intern/camera.c
index b733460..1f6f211e 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -742,6 +742,8 @@ static void camera_stereo3d_model_matrix(
interocular_distance = device_ipd;
}
}
+#else
+ UNUSED_VARS(is_hmd);
#endif
if (((pivot == CAM_S3D_PIVOT_LEFT) && is_left) ||
@@ -762,7 +764,12 @@ static void camera_stereo3d_model_matrix(
fac_signed = is_left ? fac : -fac;
/* rotation */
- if (convergence_mode == CAM_S3D_TOE) {
+ if (convergence_mode == CAM_S3D_TOE
+#ifdef WITH_INPUT_HMD
+ && !is_hmd
+#endif
+ )
+ {
float angle;
float angle_sin, angle_cos;
float toeinmat[4][4];
@@ -980,7 +987,7 @@ float BKE_camera_multiview_shift_x(RenderData *rd, Object
*camera, const char *v
if (!is_multiview) {
return data->shiftx;
}
- else if (rd->views_format == SCE_VIEWS_FORMAT_MULTIVIEW) {
+ else if (ELEM(rd->views_format, SCE_VIEWS_FORMAT_MULTIVIEW,
SCE_VIEWS_FORMAT_HMD)) {
return data->shiftx;
}
else { /* SCE_VIEWS_SETUP_BASIC */
diff --git a/source/blender/editors/space_view3d/drawobject.c
b/source/blender/editors/space_view3d/drawobject.c
index 8487726..f56488d 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -1879,6 +1879,12 @@ static void drawcamera_stereo3d(
const bool is_stereo3d_cameras = (v3d->stereo3d_flag &
V3D_S3D_DISPCAMERAS) && (scene->r.views_format == SCE_VIEWS_FORMAT_STEREO_3D);
const bool is_stereo3d_plane = (v3d->stereo3d_flag & V3D_S3D_DISPPLANE)
&& (scene->r.views_format == SCE_VIEWS_FORMAT_STEREO_3D);
const bool is_stereo3d_volume = (v3d->stereo3d_flag &
V3D_S3D_DISPVOLUME);
+ const bool is_hmd =
+#ifdef WITH_INPUT_HMD
+ scene->r.views_format == SCE_VIEWS_FORMAT_HMD;
+#else
+ false;
+#endif
zero_v3(tvec);
@@ -1895,7 +1901,7 @@ static void drawcamera_stereo3d(
copy_m3_m3(vec_lr[i], vec);
copy_v3_v3(vec_lr[i][3], vec[3]);
- if (cam->stereo.convergence_mode == CAM_S3D_OFFAXIS) {
+ if (cam->stereo.convergence_mode == CAM_S3D_OFFAXIS && !is_hmd)
{
const float shift_x =
((BKE_camera_multiview_shift_x(&scene->r, ob,
names[i]) - cam->shiftx) *
(drawsize * scale[0] * fac));
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs