parent
32a147369e
commit
609662dca5
|
|
@ -689,7 +689,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
|
|||
|
||||
static LLCullResult result;
|
||||
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
|
||||
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater() ? TRUE : FALSE;
|
||||
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater();
|
||||
gPipeline.updateCull(*LLViewerCamera::getInstance(), result, water_clip);
|
||||
stop_glerror();
|
||||
|
||||
|
|
@ -899,7 +899,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
|
|||
// gGL.popMatrix();
|
||||
//}
|
||||
|
||||
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater() ? TRUE : FALSE;
|
||||
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater();
|
||||
|
||||
LLGLState::checkStates();
|
||||
LLGLState::checkClientArrays();
|
||||
|
|
|
|||
|
|
@ -2525,7 +2525,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_cl
|
|||
LLVOCachePartition* vo_part = region->getVOCachePartition();
|
||||
if(vo_part)
|
||||
{
|
||||
bool do_occlusion_cull = can_use_occlusion && use_occlusion && !gUseWireframe/* && !gViewerWindow->getProgressView()->getVisible()*/;
|
||||
bool do_occlusion_cull = can_use_occlusion && use_occlusion && !gUseWireframe && 0 > water_clip /* && !gViewerWindow->getProgressView()->getVisible()*/;
|
||||
vo_part->cull(camera, do_occlusion_cull);
|
||||
}
|
||||
}
|
||||
|
|
@ -9853,16 +9853,16 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
|||
|
||||
gPipeline.grabReferences(result);
|
||||
gPipeline.mDeferredScreen.bindTarget();
|
||||
gGL.setColorMask(true, true);
|
||||
gGL.setColorMask(true, true);
|
||||
glClearColor(0,0,0,0);
|
||||
gPipeline.mDeferredScreen.clear();
|
||||
|
||||
renderGeomDeferred(camera);
|
||||
renderGeomDeferred(camera);
|
||||
}
|
||||
else
|
||||
{
|
||||
renderGeom(camera, TRUE);
|
||||
}
|
||||
renderGeom(camera, TRUE);
|
||||
}
|
||||
|
||||
gPipeline.popRenderTypeMask();
|
||||
}
|
||||
|
|
@ -9880,6 +9880,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
|||
S32 detail = RenderReflectionDetail;
|
||||
if (detail > 0)
|
||||
{ //mask out selected geometry based on reflection detail
|
||||
|
||||
if (detail < 4)
|
||||
{
|
||||
clearRenderTypeMask(LLPipeline::RENDER_TYPE_PARTICLES, END_RENDER_TYPES);
|
||||
|
|
@ -9893,6 +9894,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
LLGLUserClipPlane clip_plane(plane, mat, projection);
|
||||
LLGLDisable cull(GL_CULL_FACE);
|
||||
updateCull(camera, ref_result, -water_clip, &plane);
|
||||
|
|
@ -9907,15 +9909,15 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
|||
LLGLUserClipPlane clip_plane(plane, mat, projection);
|
||||
|
||||
if (LLPipeline::sRenderDeferred && materials_in_water)
|
||||
{
|
||||
{
|
||||
renderGeomDeferred(camera);
|
||||
}
|
||||
else
|
||||
{
|
||||
renderGeom(camera);
|
||||
renderGeom(camera);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (LLPipeline::sRenderDeferred && materials_in_water)
|
||||
{
|
||||
|
|
@ -9984,14 +9986,14 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
|||
|
||||
|
||||
if (LLPipeline::sRenderDeferred && materials_in_water)
|
||||
{
|
||||
{
|
||||
mWaterDis.flush();
|
||||
gPipeline.mDeferredScreen.bindTarget();
|
||||
gGL.setColorMask(true, true);
|
||||
glClearColor(0,0,0,0);
|
||||
gPipeline.mDeferredScreen.clear();
|
||||
gPipeline.grabReferences(result);
|
||||
renderGeomDeferred(camera);
|
||||
renderGeomDeferred(camera);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue