diff options
author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-03-11 09:19:20 +0000 |
---|---|---|
committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-03-11 09:19:20 +0000 |
commit | 1b1dd127a4329cc7fed9d36608f4fc04ff056843 (patch) | |
tree | 7c998ab7f4037aee8446817293bedafffd7958c2 /indra/newview/llviewercamera.cpp | |
parent | 6d738f25d9be0f4b576c8a55e9091ced589daf71 (diff) | |
parent | a618a3913af506878adf59a2c5b5fb12e665e35b (diff) |
merge.
Diffstat (limited to 'indra/newview/llviewercamera.cpp')
-rw-r--r-- | indra/newview/llviewercamera.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp index bd4f172907..0051f46716 100644 --- a/indra/newview/llviewercamera.cpp +++ b/indra/newview/llviewercamera.cpp @@ -338,7 +338,12 @@ void LLViewerCamera::setPerspective(BOOL for_selection, { // make a tiny little viewport // anything drawn into this viewport will be "selected" - GLint* viewport = (GLint*) gGLViewport; + + GLint viewport[4]; + viewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft; + viewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom; + viewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth(); + viewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight(); proj_mat = gl_pick_matrix(x+width/2.f, y_from_bot+height/2.f, (GLfloat) width, (GLfloat) height, viewport); @@ -405,6 +410,9 @@ void LLViewerCamera::setPerspective(BOOL for_selection, if (for_selection && (width > 1 || height > 1)) { + // NB: as of this writing, i believe the code below is broken (doesn't take into account the world view, assumes entire window) + // however, it is also unused (the GL matricies are used for selection, (see LLCamera::sphereInFrustum())) and so i'm not + // comfortable hacking on it. calculateFrustumPlanesFromWindow((F32)(x - width / 2) / (F32)gViewerWindow->getWindowWidthScaled() - 0.5f, (F32)(y_from_bot - height / 2) / (F32)gViewerWindow->getWindowHeightScaled() - 0.5f, (F32)(x + width / 2) / (F32)gViewerWindow->getWindowWidthScaled() - 0.5f, |