From 176f1aad3dc44d3c7ad0a188fea04beef8980180 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 1 Mar 2014 21:41:07 +1100 Subject: Fix for using non camera objects as a camera having zero area view-frame --- source/blender/blenkernel/intern/camera.c | 4 ++++ source/blender/editors/space_view3d/view3d_draw.c | 6 ++++++ source/blender/editors/space_view3d/view3d_edit.c | 2 ++ 3 files changed, 12 insertions(+) (limited to 'source') diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c index 3290f0eae8e..1e47dc3ab53 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 4220bcf161b..18f3d150eb2 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(¶ms); + /* fallback for non camera objects */ + params.clipsta = v3d->near; + params.clipend = v3d->far; BKE_camera_params_from_object(¶ms, 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(¶ms); + /* fallback for non camera objects */ + params.clipsta = v3d->near; + params.clipend = v3d->far; BKE_camera_params_from_object(¶ms, v3d->camera); BKE_camera_params_compute_viewplane(¶ms, sizex, sizey, scene->r.xasp, scene->r.yasp); BKE_camera_params_compute_matrix(¶ms); diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index cf593a68d77..f2f4f0f97aa 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(¶ms); + params.clipsta = v3d->near; + params.clipend = v3d->far; BKE_camera_params_from_object(¶ms, v3d->camera); lens = params.lens; -- cgit v1.2.3