@@ -195,6 +195,9 @@ void OnRenderImage(RenderTexture source, RenderTexture destination)
195195 var uberMaterial = m_MaterialFactory . Get ( "Hidden/Post FX/Uber Shader" ) ;
196196 uberMaterial . shaderKeywords = null ;
197197
198+ if ( ! GraphicsUtils . isLinearColorSpace )
199+ uberMaterial . EnableKeyword ( "UNITY_COLORSPACE_GAMMA" ) ;
200+
198201 var src = source ;
199202 var dst = destination ;
200203
@@ -235,30 +238,36 @@ void OnRenderImage(RenderTexture source, RenderTexture destination)
235238
236239 uberActive |= TryPrepareUberImageEffect ( m_ChromaticAberration , uberMaterial ) ;
237240 uberActive |= TryPrepareUberImageEffect ( m_ColorGrading , uberMaterial ) ;
238- uberActive |= TryPrepareUberImageEffect ( m_UserLut , uberMaterial ) ;
239- uberActive |= TryPrepareUberImageEffect ( m_Grain , uberMaterial ) ;
240241 uberActive |= TryPrepareUberImageEffect ( m_Vignette , uberMaterial ) ;
241- uberActive |= TryPrepareUberImageEffect ( m_Dithering , uberMaterial ) ;
242+ uberActive |= TryPrepareUberImageEffect ( m_UserLut , uberMaterial ) ;
242243
243- // Render to destination
244- if ( uberActive )
244+ var fxaaMaterial = fxaaActive
245+ ? m_MaterialFactory . Get ( "Hidden/Post FX/FXAA" )
246+ : null ;
247+
248+ if ( fxaaActive )
245249 {
246- if ( ! GraphicsUtils . isLinearColorSpace )
247- uberMaterial . EnableKeyword ( "UNITY_COLORSPACE_GAMMA" ) ;
250+ fxaaMaterial . shaderKeywords = null ;
251+ TryPrepareUberImageEffect ( m_Grain , fxaaMaterial ) ;
252+ TryPrepareUberImageEffect ( m_Dithering , fxaaMaterial ) ;
248253
249- var input = src ;
250- var output = dst ;
251- if ( fxaaActive )
254+ if ( uberActive )
252255 {
253- output = m_RenderTextureFactory . Get ( src ) ;
256+ var output = m_RenderTextureFactory . Get ( src ) ;
257+ Graphics . Blit ( src , output , uberMaterial , 0 ) ;
254258 src = output ;
255259 }
256260
257- Graphics . Blit ( input , output , uberMaterial , 0 ) ;
261+ m_Fxaa . Render ( src , dst ) ;
258262 }
263+ else
264+ {
265+ uberActive |= TryPrepareUberImageEffect ( m_Grain , uberMaterial ) ;
266+ uberActive |= TryPrepareUberImageEffect ( m_Dithering , uberMaterial ) ;
259267
260- if ( fxaaActive )
261- m_Fxaa . Render ( src , dst ) ;
268+ if ( uberActive )
269+ Graphics . Blit ( src , dst , uberMaterial , 0 ) ;
270+ }
262271
263272 if ( ! uberActive && ! fxaaActive )
264273 Graphics . Blit ( src , dst ) ;
0 commit comments