it.xnews.jp
出典: AlphaPixel Software Development 原文公開: 2026-09-23 生成: 2026-09-30 読了 約 4 分 model: claude-haiku-4-5 原文: https://alphapixeldev.com/sdf-vs-msdf-vs-slug-vs-rive-gpu-text-rendering/ raw.md

GPU テキスト レンダリング手法の比較:SDF、MSDF、Slug、Rive

TL;DR: AlphaPixelは、Eric LengyelがSlugアルゴリズムの特許を2026年3月17日にパブリックドメインに献上したことを受け、C++20実装「Slughorn」を開発。テクスチャアトラス、SDF、MSDF、テッセレーション、Slugの5つのGPU テキスト レンダリング手法の長所と短所を解説している。

AlphaPixelが公開した技術解説では、GPU上でのテキスト レンダリングにおける5つの主要なアルゴリズムの特徴と使い分けが説明されている。テクスチャベース手法から解析的な描画手法まで、それぞれが異なる要件に対応する設計となっている。

グリフの輪郭

Slug アルゴリズムの登場と特許公開

Eric Lengyelは2017年に『Journal of Computer Graphics Techniques』vol. 6, no. 2 において Slug アルゴリズムを発表した。このアルゴリズムはテクスチャアトラスとフレームごとのテッセレーションを排除し、フラグメントシェーダーで直接グリフの輪郭からテキストをレンダリングする。Lengyelは2019年にこの技術を特許化し、2026年3月17日にその特許をパブリックドメインに献上した。AlphaPixelはこれを受けて、Slug技術のC++20実装である「Slughorn」を開発した。

Slughornの実装では、グリフは二次ベジェ曲線と直線セグメントとしてGPUバッファに保存され、水平バンドに分割する加速構造が構築される。OpenGL、Vulkan、WebGPU、DirectXをターゲットとしており、PythonバインディングをC++ APIと並行して提供する。SVG、FreeType フォント、Blend2D、Cairo、Skiaからのパスを入力可能である。

各レンダリング手法の比較

アトラスとベクトル手法の比較

テクスチャアトラスは複数のグリフを事前にラスタライズして1枚のテクスチャに配置し、メモリ効率と描画速度に優れる。しかし拡大時にぼやけ、斜め角度で分解能が低下する。

符号付き距離フィールド(SDF)はChris Greenが2007年のSIGGRAPHで「Improved Alpha-Tested Magnification for Vector Textures and Special Effects」を発表した手法である。距離値を保存することで、スケール変更に対応できるが、コーナー部の精度に課題がある。

符号付き距離フィールドの構造

複数チャネル符号付き距離フィールド(MSDF)はViktor Chlumsky の2015年の論文と2018年の「Improved Corners with Multi-Channel Signed Distance Fields」に基づく手法で、3つのチャネルを使用することでコーナー保存性を向上させた。

SDFとMSDFの比較

Rive レンダラーは2024年にオープンソース化され、アニメーションベクトルアート向けに最適化されており、120 fps のパフォーマンスを実現する。

Slug の利点と性能特性

テッセレーション処理

Slug は解析的にカバレッジを計算するため、トランスフォーメーション後にピクセル単位で正確な結果を得られる。テクスチャにベイク済み解像度がないため、6 ピクセルから6000 ピクセルまでの任意のサイズで鮮明さを保つ。テクスチャアトラスのように拡大時にぼやけず、SDFやMSDFのようにコーナーが丸まったりぼやけたりしない。

テクスチャベース手法に64 テクセル/em の解像度予算が与えられる場合、Slug はスケールに関わらず正確な描画を提供する。斜め角度での表示時もアリアシングの影響を受けない。

フォント形式との関連性

テキストレンダリングに用いられるフォント形式として、TrueTypeは二次ベジェ曲線を、OpenTypeのCFF形式は三次曲線を採用している。Slughornはこれらの形式に対応する設計となっている。

この記事は元記事の事実のみに基づいて自動生成されました。

筆者の見立て

出典

AlphaPixel Software Development『SDF vs MSDF vs Slug vs Rive vs Texture Atlas: GPU Text Rendering Explained』https://alphapixeldev.com/sdf-vs-msdf-vs-slug-vs-rive-gpu-text-rendering/

この記事をシェア