diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-12-11 05:02:39 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-12-11 05:05:32 +0300 |
commit | 908b6d8be3c08157bf30e482e6fa848d728eb1ed (patch) | |
tree | 19b4716720984adba83d29e21e9f609d09f4d6db /source | |
parent | 642c315bae13ccb418ec767e6f29ca4e450dde5d (diff) |
Fix T52051: Orthographic camera display size error
It was impractical to create a small orthographic camera with a usable
size in the view-port.
No longer scale the draw-size by ortho-size.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/camera.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_camera.c | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c index bda26c95815..3e6e88c5f44 100644 --- a/source/blender/blenkernel/intern/camera.c +++ b/source/blender/blenkernel/intern/camera.c @@ -401,7 +401,7 @@ void BKE_camera_view_frame_ex( facy = 0.5f * camera->ortho_scale * r_asp[1] * scale[1]; r_shift[0] = camera->shiftx * camera->ortho_scale * scale[0]; r_shift[1] = camera->shifty * camera->ortho_scale * scale[1]; - depth = do_clip ? -((camera->clipsta * scale[2]) + 0.1f) : -drawsize * camera->ortho_scale * scale[2]; + depth = do_clip ? -((camera->clipsta * scale[2]) + 0.1f) : -(drawsize * 2.0f) * scale[2]; *r_drawsize = 0.5f * camera->ortho_scale; } diff --git a/source/blender/makesrna/intern/rna_camera.c b/source/blender/makesrna/intern/rna_camera.c index 981ae75e7c5..c1a76b1627a 100644 --- a/source/blender/makesrna/intern/rna_camera.c +++ b/source/blender/makesrna/intern/rna_camera.c @@ -45,6 +45,18 @@ #include "WM_api.h" +static float rna_Camera_draw_size_get(PointerRNA *ptr) +{ + Camera *cam = ptr->id.data; + return cam->drawsize * 2.0f; +} + +static void rna_Camera_draw_size_set(PointerRNA *ptr, float value) +{ + Camera *cam = ptr->id.data; + cam->drawsize = value / 2.0f; +} + static float rna_Camera_angle_get(PointerRNA *ptr) { Camera *cam = ptr->id.data; @@ -309,7 +321,11 @@ void RNA_def_camera(BlenderRNA *brna) RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); prop = RNA_def_property(srna, "draw_size", PROP_FLOAT, PROP_DISTANCE); +#if 0 RNA_def_property_float_sdna(prop, NULL, "drawsize"); +#else + RNA_def_property_float_funcs(prop, "rna_Camera_draw_size_get", "rna_Camera_draw_size_set", NULL); +#endif RNA_def_property_range(prop, 0.01f, 1000.0f); RNA_def_property_ui_range(prop, 0.01, 100, 1, 2); RNA_def_property_ui_text(prop, "Draw Size", "Apparent size of the Camera object in the 3D View"); |