[Bf-blender-cvs] [176f1aa] master: Fix for using non camera objects as a camera having zero area view-frame

Campbell Barton noreply at git.blender.org
Sat Mar 1 11:42:05 CET 2014


Commit: 176f1aad3dc44d3c7ad0a188fea04beef8980180
Author: Campbell Barton
Date:   Sat Mar 1 21:41:07 2014 +1100
https://developer.blender.org/rB176f1aad3dc44d3c7ad0a188fea04beef8980180

Fix for using non camera objects as a camera having zero area view-frame

===================================================================

M	source/blender/blenkernel/intern/camera.c
M	source/blender/editors/space_view3d/view3d_draw.c
M	source/blender/editors/space_view3d/view3d_edit.c

===================================================================

diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index 3290f0e..1e47dc3 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -198,6 +198,10 @@ void BKE_camera_params_init(CameraParams *params)
 	params->sensor_fit = CAMERA_SENSOR_FIT_AUTO;
 
 	params->zoom = 1.0f;
+
+	/* fallback for non camera objects */
+	params->clipsta = 0.1f;
+	params->clipsta = 100.0f;
 }
 
 void BKE_camera_params_from_object(CameraParams *params, Object *ob)
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 4220bcf..18f3d15 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -950,6 +950,9 @@ static void view3d_camera_border(Scene *scene, ARegion *ar, View3D *v3d, RegionV
 
 	/* get camera viewplane */
 	BKE_camera_params_init(&params);
+	/* fallback for non camera objects */
+	params.clipsta = v3d->near;
+	params.clipend = v3d->far;
 	BKE_camera_params_from_object(&params, v3d->camera);
 	if (no_shift) {
 		params.shiftx = 0.0f;
@@ -2746,6 +2749,9 @@ ImBuf *ED_view3d_draw_offscreen_imbuf(Scene *scene, View3D *v3d, ARegion *ar, in
 		CameraParams params;
 
 		BKE_camera_params_init(&params);
+		/* fallback for non camera objects */
+		params.clipsta = v3d->near;
+		params.clipend = v3d->far;
 		BKE_camera_params_from_object(&params, v3d->camera);
 		BKE_camera_params_compute_viewplane(&params, sizex, sizey, scene->r.xasp, scene->r.yasp);
 		BKE_camera_params_compute_matrix(&params);
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index cf593a6..f2f4f0f 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -2533,6 +2533,8 @@ static void view3d_from_minmax(bContext *C, View3D *v3d, ARegion *ar,
 			if (rv3d->persp == RV3D_CAMOB && ED_view3d_camera_lock_check(v3d, rv3d)) {
 				CameraParams params;
 				BKE_camera_params_init(&params);
+				params.clipsta = v3d->near;
+				params.clipend = v3d->far;
 				BKE_camera_params_from_object(&params, v3d->camera);
 
 				lens = params.lens;




More information about the Bf-blender-cvs mailing list