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:
authorCampbell Barton <ideasman42@gmail.com>2014-03-01 14:41:07 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-03-01 14:41:07 +0400
commit176f1aad3dc44d3c7ad0a188fea04beef8980180 (patch)
tree4a53148c23f0722a8c9a9f4a43df0323e139d72e /source/blender
parent973771723414e49709c100b1c3a48c7bdeb51cdd (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.c4
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c6
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c2
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(&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 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(&params);
+ params.clipsta = v3d->near;
+ params.clipend = v3d->far;
BKE_camera_params_from_object(&params, v3d->camera);
lens = params.lens;