Better handling of texture filtering in deferred post-process passes. TODO: Investigate incorrect fxaa behavior when resolution divisor isn't 1.0.
This commit is contained in:
@@ -7301,6 +7301,11 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield, b
|
||||
|
||||
drawFullScreenRect(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0);
|
||||
|
||||
if (channel > -1)
|
||||
{
|
||||
gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_POINT);
|
||||
}
|
||||
|
||||
unbindDeferredShader(*shader);
|
||||
|
||||
if (multisample)
|
||||
@@ -7323,6 +7328,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield, b
|
||||
if (channel > -1)
|
||||
{
|
||||
mScreen.bindTexture(0, channel);
|
||||
gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
|
||||
}
|
||||
|
||||
if (!LLViewerCamera::getInstance()->cameraUnderWater())
|
||||
@@ -7334,6 +7340,11 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield, b
|
||||
|
||||
drawFullScreenRect(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0);
|
||||
|
||||
if (channel > -1)
|
||||
{
|
||||
gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_POINT);
|
||||
}
|
||||
|
||||
unbindDeferredShader(*shader);
|
||||
|
||||
if (multisample)
|
||||
@@ -7360,6 +7371,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield, b
|
||||
if (channel > -1)
|
||||
{
|
||||
mDeferredLight.bindTexture(0, channel);
|
||||
gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
|
||||
}
|
||||
|
||||
drawFullScreenRect(LLVertexBuffer::MAP_VERTEX);
|
||||
|
||||
Reference in New Issue
Block a user