Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2019-01-11 23:58:09 +0300
committerDalai Felinto <dfelinto@gmail.com>2019-01-12 02:51:15 +0300
commitba89b69ebdb47ac81a6081dfd7a1cb0c1e4331a0 (patch)
treea9eca0704671f9a9894319f67449355043d605e9 /source/blender/blenkernel/intern/camera.c
parent9f6e09bd8c14ca7ae61f6f1a0b71801e06429d8b (diff)
BKE_camera_multiview_model_matrix: Add _scaled version
For drawing it is useful to have the non-normalized version of the matrix. So we can scale up the cameras drawing accordingly.
Diffstat (limited to 'source/blender/blenkernel/intern/camera.c')
-rw-r--r--source/blender/blenkernel/intern/camera.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index f701538e0f9..c39c8dec25d 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -778,6 +778,12 @@ static bool camera_is_left(const char *viewname)
void BKE_camera_multiview_model_matrix(RenderData *rd, const Object *camera, const char *viewname, float r_modelmat[4][4])
{
+ BKE_camera_multiview_model_matrix_scaled(rd, camera, viewname, r_modelmat);
+ normalize_m4(r_modelmat);
+}
+
+void BKE_camera_multiview_model_matrix_scaled(RenderData *rd, const Object *camera, const char *viewname, float r_modelmat[4][4])
+{
const bool is_multiview = (rd && rd->scemode & R_MULTIVIEW) != 0;
if (!is_multiview) {
@@ -790,7 +796,6 @@ void BKE_camera_multiview_model_matrix(RenderData *rd, const Object *camera, con
const bool is_left = camera_is_left(viewname);
camera_stereo3d_model_matrix(camera, is_left, r_modelmat);
}
- normalize_m4(r_modelmat);
}
bool BKE_camera_multiview_spherical_stereo(RenderData *rd, const Object *camera)