summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2011-05-09 16:45:47 -0600
committerXiaohong Bao <bao@lindenlab.com>2011-05-09 16:45:47 -0600
commit5f6559c0f662ae21306524a28d9c8ec0aa199163 (patch)
treec6afc37b6ad78460cb2eb594a6c768e813319317
parentfac4ca594f4efee1da05bdc74164f56690d03bfb (diff)
parentdab6d7b50706ef09be26b5c6ca4ca8c7b8b2d051 (diff)
Automated merge with http://hg.secondlife.com/mesh-development
-rw-r--r--indra/newview/llviewercamera.cpp4
-rw-r--r--indra/newview/llviewerdisplay.cpp2
-rw-r--r--indra/newview/pipeline.cpp15
-rw-r--r--indra/newview/pipeline.h1
4 files changed, 21 insertions, 1 deletions
diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp
index 23b0845f31..7f7366dd3d 100644
--- a/indra/newview/llviewercamera.cpp
+++ b/indra/newview/llviewercamera.cpp
@@ -756,6 +756,10 @@ LLVector3 LLViewerCamera::roundToPixel(const LLVector3 &pos_agent)
BOOL LLViewerCamera::cameraUnderWater() const
{
+ if(!gAgent.getRegion())
+ {
+ return FALSE ;
+ }
return getOrigin().mV[VZ] < gAgent.getRegion()->getWaterHeight();
}
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index a60d7e0793..e41773d273 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -825,7 +825,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
//}
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater() ? TRUE : FALSE;
- LLPipeline::updateRenderDeferred();
+ LLPipeline::refreshRenderDeferred();
stop_glerror();
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 923c02b860..f64eb89866 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -784,6 +784,21 @@ void LLPipeline::updateRenderDeferred()
}
}
+//static
+void LLPipeline::refreshRenderDeferred()
+{
+ if(gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PHYSICS_SHAPES))
+ {
+ //turn the deferred rendering and glow off when draw physics shapes.
+ sRenderDeferred = FALSE ;
+ sRenderGlow = FALSE ;
+ }
+ else
+ {
+ updateRenderDeferred() ;
+ }
+}
+
void LLPipeline::releaseGLBuffers()
{
assertInitialized();
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 0cf3fde562..e9a250cd6d 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -356,6 +356,7 @@ public:
static BOOL getRenderHighlights(void* data);
static void updateRenderDeferred();
+ static void refreshRenderDeferred();
private:
void unloadShaders();