Underwater shadows.

This commit is contained in:
Shyotl
2013-11-18 09:57:35 -06:00
parent be249ac8a1
commit 030588caaf
2 changed files with 6 additions and 5 deletions

View File

@@ -151,7 +151,7 @@ void main()
vec4 fb = texture2D(screenTex, distort); vec4 fb = texture2D(screenTex, distort);
frag_data[0] = vec4(linear_to_srgb(fb.rgb), 1.0); // diffuse frag_data[0] = vec4(/*linear_to_srgb*/(fb.rgb), 1.0); // diffuse
frag_data[1] = vec4(0.5,0.5,0.5, 0.95); // speccolor*spec, spec frag_data[1] = vec4(0.5,0.5,0.5, 0.95); // speccolor*spec, spec
frag_data[2] = vec4(encode_normal(wavef), 0.0, 0.0); // normalxyz, displace frag_data[2] = vec4(encode_normal(wavef), 0.0, 0.0); // normalxyz, displace
} }

View File

@@ -725,6 +725,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
static LLCullResult result; static LLCullResult result;
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD; LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater() ? TRUE : FALSE;
gPipeline.updateCull(*LLViewerCamera::getInstance(), result, water_clip); gPipeline.updateCull(*LLViewerCamera::getInstance(), result, water_clip);
stop_glerror(); stop_glerror();
@@ -949,7 +950,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
{ {
gGL.setColorMask(true, true); gGL.setColorMask(true, true);
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender) if (LLPipeline::sRenderDeferred)
{ {
gPipeline.mDeferredScreen.bindTarget(); gPipeline.mDeferredScreen.bindTarget();
glClearColor(1,0,1,1); glClearColor(1,0,1,1);
@@ -1035,7 +1036,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
} }
gGL.setColorMask(true, false); gGL.setColorMask(true, false);
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender) if (LLPipeline::sRenderDeferred)
{ {
gPipeline.renderGeomDeferred(*LLViewerCamera::getInstance()); gPipeline.renderGeomDeferred(*LLViewerCamera::getInstance());
} }
@@ -1071,7 +1072,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
if (to_texture) if (to_texture)
{ {
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender) if (LLPipeline::sRenderDeferred)
{ {
gPipeline.mDeferredScreen.flush(); gPipeline.mDeferredScreen.flush();
if(gPipeline.mDeferredScreen.getFBO()) if(gPipeline.mDeferredScreen.getFBO())
@@ -1098,7 +1099,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
} }
//gGL.flush(); //gGL.flush();
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender) if (LLPipeline::sRenderDeferred)
{ {
gPipeline.renderDeferredLighting(); gPipeline.renderDeferredLighting();
} }