|
|
@@ -304,26 +304,25 @@ class FXAANode extends TempNode {
|
|
|
const ApplyFXAA = Fn( ( [ uv, texSize ] ) => {
|
|
|
|
|
|
const luminance = SampleLuminanceNeighborhood( texSize, uv );
|
|
|
- If( ShouldSkipPixel( luminance ), () => {
|
|
|
+ const finalUv = vec2( uv ).toVar();
|
|
|
|
|
|
- return Sample( uv );
|
|
|
+ If( ShouldSkipPixel( luminance ).not(), () => {
|
|
|
|
|
|
- } );
|
|
|
+ const pixelBlend = DeterminePixelBlendFactor( luminance );
|
|
|
+ const edge = DetermineEdge( texSize, luminance );
|
|
|
+ const edgeBlend = DetermineEdgeBlendFactor( texSize, luminance, edge, uv );
|
|
|
|
|
|
- const pixelBlend = DeterminePixelBlendFactor( luminance );
|
|
|
- const edge = DetermineEdge( texSize, luminance );
|
|
|
- const edgeBlend = DetermineEdgeBlendFactor( texSize, luminance, edge, uv );
|
|
|
+ const finalBlend = max( pixelBlend, edgeBlend );
|
|
|
|
|
|
- const finalBlend = max( pixelBlend, edgeBlend );
|
|
|
- const finalUv = uv.toVar();
|
|
|
+ If( edge.isHorizontal, () => {
|
|
|
|
|
|
- If( edge.isHorizontal, () => {
|
|
|
+ finalUv.y.addAssign( edge.pixelStep.mul( finalBlend ) );
|
|
|
|
|
|
- finalUv.y.addAssign( edge.pixelStep.mul( finalBlend ) );
|
|
|
+ } ).Else( () => {
|
|
|
|
|
|
- } ).Else( () => {
|
|
|
+ finalUv.x.addAssign( edge.pixelStep.mul( finalBlend ) );
|
|
|
|
|
|
- finalUv.x.addAssign( edge.pixelStep.mul( finalBlend ) );
|
|
|
+ } );
|
|
|
|
|
|
} );
|
|
|
|