[Bf-blender-cvs] [ba89b69ebdb] master: BKE_camera_multiview_model_matrix: Add _scaled version
Dalai Felinto
noreply at git.blender.org
Sat Jan 12 00:53:28 CET 2019
Commit: ba89b69ebdb47ac81a6081dfd7a1cb0c1e4331a0
Author: Dalai Felinto
Date: Fri Jan 11 18:58:09 2019 -0200
Branches: master
https://developer.blender.org/rBba89b69ebdb47ac81a6081dfd7a1cb0c1e4331a0
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.
===================================================================
M source/blender/blenkernel/BKE_camera.h
M source/blender/blenkernel/intern/camera.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_camera.h b/source/blender/blenkernel/BKE_camera.h
index d8e2139be83..91f03e46723 100644
--- a/source/blender/blenkernel/BKE_camera.h
+++ b/source/blender/blenkernel/BKE_camera.h
@@ -140,6 +140,7 @@ void BKE_camera_to_gpu_dof(struct Object *camera, struct GPUFXSettings *r_fx_set
struct Object *BKE_camera_multiview_render(struct Scene *scene, struct Object *camera, const char *viewname);
void BKE_camera_multiview_view_matrix(struct RenderData *rd, const struct Object *camera, const bool is_left, float r_viewmat[4][4]);
void BKE_camera_multiview_model_matrix(struct RenderData *rd, const struct Object *camera, const char *viewname, float r_modelmat[4][4]);
+void BKE_camera_multiview_model_matrix_scaled(struct RenderData *rd, const struct Object *camera, const char *viewname, float r_modelmat[4][4]);
float BKE_camera_multiview_shift_x(struct RenderData *rd, const struct Object *camera, const char *viewname);
void BKE_camera_multiview_params(struct RenderData *rd, struct CameraParams *params, const struct Object *camera, const char *viewname);
bool BKE_camera_multiview_spherical_stereo(struct RenderData *rd, const struct Object *camera);
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
@@ -777,6 +777,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;
@@ -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)
More information about the Bf-blender-cvs
mailing list