Underwater shadows.
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user