A Decade of Slug
- Auto-discovered
Eric Lengyel
Visit resource ↗Description
A Decade of Slug is a March 2026 Terathon blog post by Eric Lengyel marking ten years of the Slug Algorithm for GPU font and vector rendering from Bezier curves.
The article summarizes how Slug rasterizes text without glyph texture atlases, then covers post-2017 changes: dropping band-split and adaptive supersampling, a simpler multi-color emoji approach, and dynamic dilation that expands glyph bounds by half a pixel in viewport space from the MVP matrix. It also announces dedicating the Slug patent to the public domain with MIT reference shaders.
It is for advanced graphics programmers implementing or evaluating resolution-independent GPU text who already know shader rasterization and perspective transforms.
The page is a free HTML article with diagrams and dilation math; companion reference shaders are posted separately under MIT.
It is useful as an update to the 2017 JCGT paper on what production Slug changed and what implementers may now use freely.
Related resources
- Crystal Shader Breakdown (Cyanilux)
A Cyanilux Shader Graph walkthrough for Unity URP that builds an unlit transparent crystal with object-space Y colour gradients, camera opaque-texture refraction, Fresnel opacity, and HDR glow for bloom.
100% match · <shaders><blog><also><color><free><post><shader><space> - Custom Renderer Features (Cyanilux)
Long-form Cyanilux guide to URP ScriptableRendererFeature and ScriptableRenderPass code: example effects, RTHandle setup, blit paths, and Unity 6 Render Graph notes.
100% match · <code><shaders><advanced><blog><also><free><implementing><now> - Depth (Cyanilux)
Long-form Cyanilux tutorial on Unity depth spaces, Z buffers, Scene Depth sampling, SV_Depth, and world-position reconstruction in URP and HDRP.
100% match · <code><shaders><advanced><blog><free><perspective><pixel><post> - Intro to Shader Graph (Cyanilux)
Long-form Cyanilux primer on Unity Shader Graph: package and URP/HDRP setup, graph templates, the node editor, data types, previews, properties, keywords, and sub-graphs.
100% match · <shaders><blog><also><free><may><now><post><shader> - Local UVs for Sprites in Sprite Sheet/Atlas (Cyanilux)
Unity shader techniques for per-sprite 0-1 UVs when sprites live in sheets or atlases: C# UV remap with Shader Graph/HLSL, plus URP object-space and renderer-bounds alternatives.
100% match · <code><shaders><blog><also><free><may><post><shader> - Believable Caustics Reflections (Alan Zucconi)
Believable Caustics Reflections is Alan Zucconi's September 2019 Unity blog post on faking pool-style ripple caustics without ray tracing, sparked by Florian Gelzenleuchter's popular shader GIF. One tileable texture is sampled twice in a Surface shader at different scales and scroll speeds, combined with min(), then tinted onto albedo with slight RGB UV offsets for dispersion. The walkthrough covers _ST tiling, _Time animation, HDR albedo above 1.0, and Post Processing Stack v2 bloom.
100% match · <shaders><blog><article><free><post><posted><programmers><shader> - Blending Meshes into Terrain (Inresin)
Louis Waloschek's April 2020 Inresin tutorial blends static meshes into Unity Terrain using baked depth masks and Amplify surface shaders.
100% match · <code><shaders><advanced><blog><article><covers><free><programmers> - Blur Renderer Feature Example/Template for URP / Unity 2021.2 (Alexander Ameye)
Custom Render Passes in Unity is Alexander Ameye's July 2021 ameye.dev note on URP ScriptableRendererFeature and ScriptableRenderPass boilerplate, heavily commented where Unity SRP documentation still feels sparse. The sample applies a two-pass box blur: blit camera color to a temporary buffer, blur vertically then horizontally, with adjustable strength and downsampling.
100% match · <code><shaders><blog><also><article><changed><free><programmers> - GPU view-adaptive crack-free subdivision of Bézier surfaces
AMD GPUOpen article summarizing a Eurographics Symposium on Rendering 2026 paper on view-adaptive, crack-free subdivision of bicubic Bézier patches with GPU work graphs.
100% match · <code><advanced><blog><adaptive><approach><article><bezier><free> - A Texture Lookup Approach to Bézier Curve Evaluation on the GPU
A Texture Lookup Approach to Bézier Curve Evaluation on the GPU is Muhammad Anas and Alan Wolfe's JCGT paper presenting a texture-based GPU method that evaluates Bézier curves…
100% match · <code><advanced><approach><bezier><curves><evaluating><gpu><jcgt> - Slughorn, MIT-licensed GPU-agnostic Slug font/glyph rendering library for OpenGL/OSG/Vulkan and all GPU-driven graphics APIs
AlphaPixel blog post announcing Slughorn, an MIT-licensed C++20 library that adapts Eric Lengyel’s Slug-style GPU curve data for OpenGL, Vulkan, OSG, and related APIs.
100% match · <code><shaders><blog><emoji><eric><font><glyph><gpu> - A silly diffuse shading model
A silly diffuse shading model is a December 2025 post on the lisyarus graphics blog about a one-liner alternative to classic Lambertian diffuse for tech demos and early…
100% match · <shaders><blog><article><curves><free><half><html><know> - An Experimental Approach to printf in HLSL
An Experimental Approach to printf in HLSL is a December 2025 technical post by Chris Bieneman describing a holiday prototype for GPU-side printf in HLSL. It covers GPU string…
100% match · <code><shaders><advanced><blog><approach><article><changes><covers> - Early-bird deadline for the Shading Languages Symposium 2026
Early-bird deadline for the Shading Languages Symposium 2026 points to the Khronos Group page for the in-person symposium held 12-13 February 2026 in San Diego, right after…
100% match · <code><shaders><companion><covers><page><programmers><public><shader> - Getting started with BGFX
[video] Getting started with BGFX is a YouTube playlist by Game Coder Nz that walks through the bgfx cross-platform rendering library from a blank project to basic 3D and UI…
100% match · <code><shaders><color><font><free><programmers><text><useful> - Realtime Raytracing in Bevy 0.18 (Solari)
Realtime Raytracing in Bevy 0.18 (Solari) is a December 2025 development post by jms55 on quality and performance work for Solari, Bevy's dynamic ray-traced lighting path planned…
100% match · <code><shaders><advanced><blog><already><article><dynamic><evaluating> - No Graphics API
No Graphics API is a December 2025 long-form essay by Sebastian Aaltonen arguing that modern bindless GPUs no longer need the retained-mode complexity of DirectX 12, Vulkan, and…
100% match · <code><advanced><blog><diagrams><free><gpu><html><know> - OpenUSD Core Spec 1.0 is Here: Now We Need You
OpenUSD Core Spec 1.0 is Here: Now We Need You is an Alliance for OpenUSD blog post by Aaron Luk and Nick Porcino announcing ratification of the OpenUSD Core Specification…
100% match · <code><blog><advanced><article><domain><free><now><post> - Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float
Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float is a December 2025 deep dive by Adam Sawicki on how ID3D12GraphicsCommandList clear-UAV helpers fill…
100% match · <code><advanced><blog><also><article><bounds><covers><free> - Coding Adventure: Simulating Smoke
This YouTube Coding Adventure video by Sebastian Lague builds a grid-based smoke simulation from first principles as one episode in the Coding Adventures series. It covers…
100% match · <code><already><covers><free><math><may><programmers><useful>