Fact-checked by Grok 2 weeks ago

Fast approximate anti-aliasing

Fast approximate anti-aliasing (FXAA) is a high-performance, screen-space post-processing designed to reduce artifacts, such as jagged edges on boundaries and shimmering in results, in rendering. Developed by , it operates as a single-pass pixel applied to the final color image, converting RGB data to to detect local contrast and edge orientation before applying targeted sub-pixel shifts and blending for smoothing, all while preserving image sharpness within low millisecond costs. Introduced in 2011 by technology developer Timothy Lottes, FXAA emerged as an efficient alternative to morphological anti-aliasing (MLAA) and hardware-based methods like (MSAA), particularly for resource-constrained platforms such as the and PlayStation 3. It gained rapid adoption in video games on these consoles—and later on PC—due to its minimal performance impact, processing a frame in approximately 1ms of GPU time, making it suitable for maintaining frame rates at 30 or higher. FXAA's key advantages include seamless integration into deferred rendering pipelines, where MSAA becomes inefficient due to high memory and bandwidth demands, as well as broad compatibility across graphics hardware without needing specialized support. The technique offers multiple (from 0 to 4) balancing quality and speed, with higher presets providing sharper results by reducing single-pixel and sub-pixel , though it requires sRGB input for optimal performance and may exhibit minor blurring or artifacts in lower settings. Despite its approximations, FXAA remains a foundational tool in game engines like and Unreal, influencing subsequent methods, and continues to be used in modern titles for its efficiency on lower-end hardware.

Introduction

Definition and Purpose

Fast approximate anti-aliasing (FXAA) is a screen-space, post-processing algorithm designed to smooth jagged edges, known as artifacts, by analyzing and blending the final rendered s in an image without requiring access to underlying geometry data. This technique operates as a single-pass pixel shader applied after the main rendering stage, approximating effects directly on the screen buffer to reduce visual distortions efficiently. The problem in arises from the discrete sampling of continuous lines and surfaces onto a grid, where smooth curves or diagonals are represented by finite pixels, resulting in stair-stepped or jagged edges often called "jaggies." These artifacts occur because displays and renderers work with discrete pixels to approximate a continuous world, leading to insufficient detail capture along edges and fine features during the sampling process. FXAA's primary purpose is to deliver fast suitable for applications such as , targeting low computational overhead compared to geometry-based methods that require modifications during the rendering . In the broader context of graphics , it distinguishes itself as a lightweight post-processing option, contrasting with pre-processing techniques like (MSAA) that sample geometry earlier in the , thereby enabling broader compatibility and performance in dynamic scenes.

History and Development

Fast approximate (FXAA) was developed by Timothy Lottes at starting in early 2009, driven by the need for a lightweight post-processing solution to mitigate artifacts in rendering for high-performance applications without the overhead of traditional multi-sample (MSAA). The technique emerged as a screen-space method capable of running efficiently on consumer hardware, targeting edge blurring in a single pass to fit within tight frame budgets typical of game engines. FXAA was initially released to the public in June 2011, with version 3 made available under a license to encourage broad adoption across platforms. A key milestone came with the release of FXAA 3.11 in July 2011, which introduced optimizations for improved quality and reduced performance costs, licensed under the 3-clause BSD terms to facilitate integration while retaining NVIDIA's . These updates addressed issues like thin-line rendering and enhanced portability across , , and console shaders. By 2010-2012, FXAA saw widespread integration into major game engines, including 3 as a default post-process option, and later into 4 and , where developers ported it for cross-platform use in titles targeting PC, consoles, and mobile devices. Its low computational footprint—often under 2 ms per frame at —made it particularly appealing for resource-constrained environments, leading to adoption in games like and ongoing use in indie and mobile projects through the 2020s, even as (TAA) gained prominence. FXAA's design influenced subsequent screen-space approaches by demonstrating the viability of fast, shader-based edge smoothing without geometry modifications, though official updates ceased after 2011, with community adaptations emerging for modern APIs like and updated implementations.

Technical Principles

Core Concepts

Fast approximate anti-aliasing (FXAA) operates entirely in screen space, processing the final rendered color buffer as a post-processing step without access to depth buffers, information, or multi-sampled . This approach allows FXAA to be applied universally to any rendered scene, regardless of the underlying rendering pipeline, by treating the image as a and performing a single full-screen pass. At the heart of FXAA's edge detection is a luminance-based method, where each RGB pixel is converted to a scalar luma value representing its grayscale intensity to highlight contrast changes that signal potential edges. The conversion uses a simplified approximation of the ITU-R BT.601 weights, omitting the blue channel for performance: L = 0.299R + 0.587G. This luma representation simplifies analysis by focusing on intensity variations rather than color, enabling efficient identification of aliased edges in the image. To detect edges, FXAA employs a high-pass filtering concept that measures local around each by computing the between the center 's luma and the luma of its immediate s. This subtraction amplifies variations indicative of edges while suppressing uniform areas, with a preliminary check ensuring sufficient (e.g., the between luma exceeds a relative to the local maximum) before proceeding to detailed analysis. Upon identifying an , FXAA applies blending perpendicular to the edge direction, sampling and interpolating colors along (orthogonal) axis to smooth the transition without affecting areas parallel to the edge. This directional blending reduces jaggedness by averaging sub-pixel contributions, determined through targeted searches at edge endpoints to refine the orientation and extent of the .

Edge Detection and Blending Basics

In Fast Approximate Anti-Aliasing (FXAA), begins by evaluating local within a 3x3 neighborhood to identify potential edges while minimizing false positives from or fine textures. A minimum threshold is applied, typically set to 1/8 of the maximum luma range for high-quality modes, with a secondary minimum threshold of around 1/16 to ensure visibility limits are respected; if the —computed as the difference between the maximum and minimum luma values in the neighborhood—falls below the maximum of these thresholds scaled to the local range, the is skipped to avoid unnecessary processing. Once an is detected, direction estimation analyzes the same 3x3 neighborhood to classify the edge as primarily or vertical by relative luma differences through weighted high-pass filters. For instance, edges are identified by emphasizing differences along the vertical axis, such as the absolute values of weighted sums like (0.25 × lumaNW - 0.5 × lumaN + 0.25 × lumaNE) combined with and diagonal contributions, and comparing this magnitude to the rotated vertical equivalent; the stronger signal determines the dominant , allowing FXAA to align subsequent operations to the edge. Basic blending then applies a contrast-based factor to smooth the detected by mixing the center with samples taken to the direction—for example, left and right samples for a vertical . The blend factor is derived from the local , adjusted by a (e.g., 1/8) and scaled (e.g., by 8) before being capped (e.g., at 3/4) to control the intensity of relative to subpixel ; this factor modulates a that interpolates between the original and the average, effectively reducing jaggedness. Luma values serve as the input for these contrast computations, providing a proxy for strength as outlined in FXAA's core concepts. To achieve sub-pixel accuracy, FXAA approximates the edge's position within the using of the perpendicular samples, transforming the detected contrast distribution into an offset that shifts sampling away from the aliased boundary. This refines the blend by estimating how far the true lies from the center, enabling precise smoothing without requiring multi-sampled .

Algorithm Details

Luma Computation

In Fast Approximate Anti-Aliasing (FXAA), luma computation serves as the foundation for detecting differences that indicate edges requiring smoothing. For each , the value, or luma, is derived from its RGB color components normalized to the range [0,1] using the optimized formula L = 0.299R + 0.587G. This weighted sum approximates human visual sensitivity, emphasizing the green channel due to its dominance in perceived brightness while omitting the blue channel for performance. To facilitate efficient edge analysis, the center pixel's luma is first obtained, followed by computing a local average luma from neighboring samples. A common approach involves averaging the luma values of four orthogonal pixels in a 3x3 neighborhood (north, east, south, west), yielding L_{\text{avg}} = \frac{L_{\text{N}} + L_{\text{E}} + L_{\text{S}} + L_{\text{W}}}{4}. The is then assessed via the between the luma in the center and orthogonal neighbors, which acts as a to quantify local variations; low values indicate flat areas exempt from further processing. A common optimization is to pre-compute luma values during the preceding rendering pass and store them in the alpha channel of the color texture to minimize redundant calculations in the FXAA shader.

Edge Search and Sampling

In the FXAA algorithm, once the initial edge direction is determined from the local pixel neighborhood, an extended sampling pattern is employed to refine the edge position and gather data for blending. This involves 1D search lines along the detected edge direction to locate the endpoints of the edge span, using up to a tunable number of steps (e.g., 16 in default configurations), with offsets scaled relative to pixel size to probe for significant luminance changes. The search proceeds bidirectionally from the current pixel, sampling at incremental positions (adjusted by hardware acceleration factors, effectively skipping 1-4 pixels) until a threshold luminance difference is exceeded (contrast change < 0.25 × local range), ensuring the span accurately captures the edge extent without excessive computation. The blend factor along the edge is based on the relative position of the current within the detected span. Specifically, the is the normalized distance to the nearer endpoint, and the output color is interpolated between the colors at the two endpoints using 0.5 minus this to achieve smooth transitions. This approach refines sub- detection by estimating the position within the edge span. FXAA 3.11 introduces quality modes that vary the sampling intensity for balancing performance and accuracy, with higher modes employing more search steps to extend the search radius and improve refinement. For instance, preset 10 uses 10 extra search steps for moderate quality, while preset 20 uses 12 steps, incorporating additional samples at sub-pixel offsets to better handle near-diagonal edges at a modest performance penalty. The final pixel color is determined only if the local surpasses the edge threshold—typically max(1/32, (1/8) × maximum neighborhood luma)—in which case it becomes a blend of the original and samples across the edge modulated by sub- and span factors, while unaffected pixels retain their original values to preserve detail.

Implementation Aspects

Integration in Graphics Pipelines

Fast approximate anti-aliasing (FXAA) is typically integrated as a post-processing effect in modern graphics pipelines, where it is applied as a single full-screen or in the fragment stage following the deferred or passes. This placement allows FXAA to operate on the final color buffer as an input , smoothing edges without altering earlier or rasterization stages. The process involves rendering the scene to a first, then drawing the full-screen primitive with the FXAA bound to that , ensuring it functions as a lightweight filter on a single-sample image. Implementation requires a single-pass written in HLSL or GLSL, as exemplified by NVIDIA's reference code, which processes the input in one per . Key inputs to the shader include the color , the inverse (often as a uniform like rcpFrame for pixel size calculations), and an optional luma for enhanced in certain . The shader employs an anisotropic sampler with a maximum of 4 to handle fetches efficiently, and it supports quality (0-4) to balance performance and visual fidelity during integration. This setup is straightforward, requiring no modifications to vertex shaders or earlier stages, and can be invoked directly within the desired post-processing chain. FXAA demonstrates broad pipeline compatibility, supporting 9 and later (via HLSL profiles like FXAA_HLSL_3 for DX9 or type aliasing in DX11), 3.0 and above (with extensions like GL_EXT_gpu_shader4 for earlier versions starting from 2.0), and through its SPIR-V capabilities, as the algorithm relies solely on fragment operations without dependencies on multisampling buffers. This independence from MSAA makes FXAA particularly suitable for forward rendering pipelines, where savings are achieved compared to multisample techniques, and it integrates seamlessly into both deferred and forward workflows without requiring additional resolve passes. In practice, developers often disable FXAA for (UI) or heads-up display () elements to preserve sharpness, achieving this by applying the effect before rendering overlay content or using stencil buffers to mask specific screen regions during the post-process pass. Additionally, for performance optimization, FXAA supports resolution scaling, such as applying it at half resolution before upscaling, which reduces computational load while maintaining acceptable edge smoothing in bandwidth-constrained scenarios. These techniques ensure FXAA enhances visual quality without introducing artifacts in non-scene elements or overburdening the GPU.

Variants and Licensing

FXAA 3, the initial major release of the technique, was introduced by NVIDIA developer Timothy Lottes in 2009 as a basic post-processing method employing a 3x3 neighborhood for and straightforward blending to mitigate artifacts. This version was placed in the , enabling unrestricted use, modification, and distribution without any attribution or royalty requirements. In 2011, NVIDIA released FXAA 3.11 as an enhanced iteration, incorporating configurable quality presets ranging from QualityLow to QualityUltra, which adjust the number of samples from 3 taps in lower modes to up to 12 taps in higher ones for improved edge handling and reduced shimmering. Unlike its predecessor, FXAA 3.11 is licensed under a 3-clause BSD license, which permits free use and modification but mandates retention of copyright notices, disclaimers, and attribution to in any redistributed binaries or source code, particularly for commercial applications. Following the 2011 release, has not issued official updates to FXAA, leaving further adaptations to the community. Open-source implementations include ' FXAA integration in its Post-Processing Stack package, introduced around , which provides a shader-based post-effect compatible with various pipelines. Community tweaks for resource-constrained environments, such as devices, often involve reduced sample counts or a "fast mode" variant to prioritize performance over quality, as seen in Unity's Universal Render Pipeline where FXAA is recommended for low-overhead on handheld hardware. The status of FXAA 3 facilitates broad adoption and derivative works without legal barriers, while the for FXAA 3.11 ensures NVIDIA receives credit, promoting ethical reuse in proprietary projects provided the conditions are met.

Evaluation

Performance Characteristics

Fast approximate anti-aliasing (FXAA) imposes a minimal computational cost on graphics processing units, typically adding less than 1% overhead on modern hardware due to its post-processing nature. For instance, FXAA execution time is sub-millisecond per frame on contemporary GPUs, scaling linearly with screen resolution while remaining independent of scene geometry or complexity. This efficiency stems from FXAA's reliance on a single-pass pixel shader that performs luma-based and blending without accessing data or requiring multiple render passes. FXAA demonstrates strong suitability for low-end hardware, including integrated graphics solutions, as it operates entirely in screen space and demands no additional or memory buffers beyond the final render target. Its primary resource demand is memory bandwidth for texture sampling during edge searches, which can be mitigated on bandwidth-constrained devices through reduced sampling in lower-quality presets. This makes FXAA particularly effective on resource-limited platforms like mobile devices and entry-level GPUs, where more demanding techniques falter. Benchmark data indicates that FXAA delivers a significant performance advantage over (MSAA), often several times faster in deferred rendering pipelines due to avoiding per-sample shading costs. FXAA remains viable as of 2025 for applications such as mobile and () rendering, where (TAA) proves too computationally intensive for consistent frame rates, and continues to be used in modern titles like and . Optimization plays a key role in maintaining high frame rates with FXAA, as configurable quality presets reduce the number of samples evaluated per , enabling 60+ per second even on mid-range hardware. Lower modes prioritize speed by skipping non-edge pixels via early contrast checks, while FXAA can be combined with upscaling technologies like (DLSS) via driver settings to enhance performance and resolution.

Quality Trade-offs

Fast approximate anti-aliasing (FXAA) demonstrates particular strengths in addressing artifacts that originate from computations rather than purely geometric edges. It effectively smooths effects such as alpha-tested textures, specular highlights, and other post-geometry rendering artifacts that (MSAA) typically overlooks, as FXAA operates on the final composited image to blend sub-pixel variations. This capability extends to reducing in procedural or texture-based patterns, providing a more uniform visual appearance across diverse scene elements. However, these benefits come at the cost of introducing noticeable image blur, which is most evident on fine details like textures, fonts, and thin high-contrast structures such as wires. The blurring stems primarily from the algorithm's sub-pixel detection and low-pass filtering, which blends neighboring pixels to approximate smoother transitions but inadvertently softens sharp features. FXAA also struggles to resolve sub-pixel details accurately, as its screen-space nature lacks access to underlying scene data, resulting in approximations that may fail on intricate or thin elements like diagonal lines unless configured with extensive sampling. Additionally, without proper masking, application of FXAA can lead to unwanted blurring or shimmering in heads-up displays (HUDs) and elements, necessitating its execution prior to overlay rendering. To mitigate these quality issues, FXAA implementations include configurable quality that adjust parameters like sub-pixel trimming and edge search extent, allowing a tunable balance between residual and excessive — for instance, higher presets disable certain accelerations to eliminate dithering artifacts while increasing filtering thoroughness. Combining FXAA with hardware multisampling further enhances overall quality by leveraging FXAA's strengths in shader alongside MSAA's geometric precision, reducing the prominence of FXAA's blurring in critical areas.

Comparisons

With Multisample Anti-Aliasing

(MSAA) is a hardware-accelerated technique that mitigates by sampling geometry at multiple sub-pixel locations during the rasterization stage of rendering, typically using 4x or 8x sample counts to resolve edges more accurately. This pre-process approach leverages depth and stencil buffers to focus sampling primarily on edges, producing cleaner results without affecting interior as heavily as full . In , Fast Approximate Anti-Aliasing (FXAA) operates as a post-processing effect applied to the final rendered image, analyzing and in screen without access to underlying geometry or buffers, which results in a minimal overhead with times under 1 ms for high-resolution frames on contemporary hardware (as of ). MSAA, however, incurs a significantly higher cost due to increased demands from storing and resolving multiple samples per . FXAA's screen-space nature allows it to address in post-geometry effects such as particle systems and shaders, areas where MSAA provides no benefit since it does not sample beyond initial rasterization. Regarding effectiveness, MSAA excels at delivering sharp, precise on opaque edges by directly resolving sub-pixel coverage, outperforming FXAA in scenarios with clean geometric boundaries. However, MSAA fails to handle alpha-tested or transparent textures effectively, leading to persistent aliasing on foliage, wires, or semi-transparent surfaces unless specialized extensions like alpha-to-coverage are used, which still limit its scope. FXAA, while broader in application, approximates edges through local blurring, which can introduce softness but ensures more uniform coverage across diverse scene elements at the expense of some detail sharpness. MSAA is typically reserved for high-end with ample VRAM and , where its superior quality justifies the resource demands in demanding titles. Conversely, FXAA finds widespread adoption on consoles and mobile devices, where multisample buffers are prohibitively expensive, enabling accessible without compromising frame rates in resource-constrained environments.

With Temporal Anti-Aliasing

Temporal Anti-Aliasing (TAA) is a post-processing technique that leverages information from multiple frames to mitigate artifacts, particularly in dynamic scenes. It operates by introducing sub-pixel to the camera in each frame, reprojecting samples from previous frames using motion vectors to align them with the current view, and accumulating these samples over time through blending to reduce temporal and spatial . This approach effectively smooths edges and shaders that vary across frames, such as foliage or moving geometry, by treating the sequence of frames as a form of multi-sample spread temporally rather than spatially within a single frame. In contrast to FXAA, which performs frame-independent post-processing by blurring high-contrast edges based solely on the current 's pixel data, TAA relies on history for temporal accumulation, yielding smoother motion portrayal but at the risk of introducing ghosting artifacts from disoccluded or invalid history samples and overall image blurring due to repeated resampling. While FXAA provides instant, low-cost edge softening without requiring additional buffers, TAA's dependence on velocity data—derived from motion vectors—enables superior handling of animated content but demands more computational resources for reprojection and history validation. TAA demonstrates particular effectiveness in scenes with camera movement or object animation, where it minimizes shimmering on fine details like hair or wireframe elements by accumulating diverse sub-pixel samples over time, outperforming 's static blurring which can exacerbate discontinuities in motion. However, TAA necessitates velocity buffers for accurate reprojection, making it less suitable for static imagery, whereas 's simplicity suits low-motion environments without such overhead. Despite these strengths, TAA's ghosting—manifesting as trailing artifacts in fast motion—remains a common drawback, often mitigated through history rejection techniques. In modern rendering pipelines, TAA has become the dominant anti-aliasing method in high-end game engines during the 2020s, such as 5, where it integrates with upscaling techniques like Temporal Super Resolution to balance quality and performance in complex scenes with dynamic lighting and geometry. Conversely, FXAA retains relevance for performance-critical applications, including fast-paced or low-spec games as of 2025, due to its minimal overhead and ease of implementation on resource-constrained hardware.

References

  1. [1]
    [PDF] fxaa | nvidia
    Jan 25, 2011 · FXAA has logic to reduce single-pixel and sub-pixel aliasing: see the reduction in stipple aliasing in the jittered sampling shadow area in ...
  2. [2]
    Tech Focus: The Rise of FXAA - GamesIndustry.biz
    Jul 26, 2011 · Over at NVIDIA, technology developer Timothy Lottes has been working on an alternative to MLAA which is winning widespread acclaim. Lottes' FXAA ...
  3. [3]
    FXAA Sample - NVIDIA Docs Hub
    FXAA is a single-pass, screen-space, anti-aliasing technique designed for producing high-quality images with low performance impact. The included code and ...
  4. [4]
    [PDF] Sampling and Aliasing - UMD Computer Science
    – Overcomes jagged edges. – Gives equal orientation lines same brightness. – Equivalent to supersampling with averaging in the limit of infinite supersampling.
  5. [5]
    FXAA Rules, OK? - Real-Time Rendering
    Jul 4, 2011 · ... Timothy Lottes' posting that he had released shader code for FXAA. I'd seen FXAA mentioned before, NVIDIA put it in their DirectX 11 SDK.
  6. [6]
    Third Party Software — Embark Studios
    IJG License. Modified BSD License. zlib License. The Modified (3-clause) BSD License ... NVIDIA FXAA 3.11 by TIMOTHY LOTTES. COPYRIGHT (C) 2010, 2011 NVIDIA ...<|control11|><|separator|>
  7. [7]
    Anti Aliasing and Upscaling in Unreal Engine
    Fast Approximate Anti-Aliasing (or FXAA) is a spatial-only anti-aliasing technique that is a post-processing effect that uses a high contrast filter to find ...
  8. [8]
    FXAA - Fast Approximate Anti-Aliasing - Unity Discussions
    Jul 17, 2011 · Not long after testing a few AA solutions, including NFAA and Unity's luminance edge blur, we ended up porting FXAA over to Unity. While it isn' ...
  9. [9]
    Implementing FXAA - 2016/07/30 - Simon Rodriguez
    Jul 30, 2016 · The main idea is to detect edges in the rendered picture and smooth them. This method is fast and efficient but can blur details on textures.
  10. [10]
    [PDF] FXAA 3.11 in 15 Slides
    FXAA is a fast, approximate, local contrast adaptive directional edge blur filter, not attempting a correct solution, but a fast visual fix.Missing: license | Show results with:license
  11. [11]
    FXAA 3.11 Sample - NVIDIA Docs
    FXAA is a high-performance, single-pass, screen-space anti-aliasing technique that reduces aliasing while maintaining sharpness with low performance impact.Missing: public domain
  12. [12]
    FXAA - Catlike Coding
    Mar 30, 2018 · FXAA works by selectively reducing the contrast of the image, smoothing out visually obvious jaggies and isolated pixels. Contrast is determined ...
  13. [13]
    Using NVidia FxAA in my code: Whats the licensing model?
    Aug 29, 2012 · This software contains source code provided by NVIDIA Corporation. This means it requires attribution, but is still significantly more permissive than many ...
  14. [14]
    Replace custom implementation of FXAA with the reference ... - GitHub
    Mar 14, 2024 · ... FXAA 3.11 is though, with it's 3-clause BSD license. We already use 3-clause BSD libraries in Godot, so it's fine. It's an OSI-approved license.
  15. [15]
    [PDF] AXAA: Adaptive approXimate Anti-Aliasing - Nah, Jae-Ho
    Jul 28, 2016 · FXAA is usually faster than CMAA/SMAA, but its imperfect luma-based edge detection sometimes excessively blurs pixels and results in more blurry ...Missing: formula | Show results with:formula
  16. [16]
    Configure AMD Radeon™ Settings for Ultimate Gaming Experience
    Multisampling Anti-Aliasing (MSAA): MSAA improves image quality by reducing aliasing at the edge of textures, however it cannot remove aliasing on transparent ...
  17. [17]
    NVIDIA VRSS, a Zero-Effort Way to Improve Your VR Image Quality
    Jan 10, 2020 · Supersampling. MSAA (multi-sample antialiasing) is an antialiasing technique used to mitigate aliasing over the edges of geometries. This is ...
  18. [18]
    Multi-Frame Sampled Anti-Aliasing Delivers Better Performance To ...
    Sep 18, 2014 · This new, Maxwell-exclusive anti-aliasing technique improves upon the quality of MSAA, whilst simultaneously reducing the performance impact.
  19. [19]
    [PDF] Evaluation of Antialiasing Techniques on Mobile Devices
    Two post-processing antialiasing techniques are explained in this chapter: fast approximate antialiasing (FXAA) and sub-pixel morphological antialiasing (SMAA).
  20. [20]
    Understanding the Need for Adaptive Temporal Antialiasing (ATAA)
    May 21, 2019 · This new approach solves for the weakness of TAA (temporal anti-aliasing) – blurring and ghosting artifacts – while remaining light enough to avoid introducing ...
  21. [21]
    What is anti-aliasing? TAA, FXAA, DLAA, and more explained
    Jul 10, 2024 · Because FXAA is a post-process form of anti-aliasing, you can apply it to any game, either as a standalone form of anti-aliasing or on top of ...<|control11|><|separator|>