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

Reply via email to