diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-03-01 14:41:07 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-03-01 14:41:07 +0400 |
commit | 176f1aad3dc44d3c7ad0a188fea04beef8980180 (patch) | |
tree | 4a53148c23f0722a8c9a9f4a43df0323e139d72e /source/blender | |
parent | 973771723414e49709c100b1c3a48c7bdeb51cdd (diff) |
Fix for using non camera objects as a camera having zero area view-frame
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/camera.c | 4 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 6 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_edit.c | 2 |
3 files changed, 12 insertions, 0 deletions
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; |