[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56990] trunk/blender/source/blender/ editors/space_view3d/view3d_project.c: fix own regression with ortho-camera adding points reported as [#35462]
Campbell Barton
ideasman42 at gmail.com
Fri May 24 02:01:21 CEST 2013
Revision: 56990
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56990
Author: campbellbarton
Date: 2013-05-24 00:01:20 +0000 (Fri, 24 May 2013)
Log Message:
-----------
fix own regression with ortho-camera adding points reported as [#35462]
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_project.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_project.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_project.c 2013-05-23 21:37:18 UTC (rev 56989)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_project.c 2013-05-24 00:01:20 UTC (rev 56990)
@@ -40,6 +40,8 @@
#include "BLI_math_vector.h"
+#include "BKE_screen.h"
+
#include "ED_view3d.h" /* own include */
#define BL_NEAR_CLIP 0.001
@@ -413,8 +415,14 @@
}
}
else {
- const float dx = (2.0f * mval[0] / (float)ar->winx) - 1.0f;
- const float dy = (2.0f * mval[1] / (float)ar->winy) - 1.0f;
+ float dx = (2.0f * mval[0] / (float)ar->winx) - 1.0f;
+ float dy = (2.0f * mval[1] / (float)ar->winy) - 1.0f;
+ if (rv3d->persp == RV3D_CAMOB) {
+ /* ortho camera needs offset applied */
+ const float zoomfac = BKE_screen_view3d_zoom_to_fac((float)rv3d->camzoom) * 4.0f;
+ dx += rv3d->camdx * zoomfac;
+ dy += rv3d->camdy * zoomfac;
+ }
line_sta[0] = (rv3d->persinv[0][0] * dx) + (rv3d->persinv[1][0] * dy) + rv3d->viewinv[3][0];
line_sta[1] = (rv3d->persinv[0][1] * dx) + (rv3d->persinv[1][1] * dy) + rv3d->viewinv[3][1];
line_sta[2] = (rv3d->persinv[0][2] * dx) + (rv3d->persinv[1][2] * dy) + rv3d->viewinv[3][2];
More information about the Bf-blender-cvs
mailing list