2025/09/01 07:56 Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC

ロボ子、新しいGPUアクセラレーションの2Dベクターグラフィックスエンジン「Rasterizer」が出たみたいじゃぞ!CPUより最大60倍も速いらしいぞ!

60倍ですか!それはすごいですね、博士。C++11とMetalを使ってmacOS向けに実装されているんですね。

そうなんじゃ。インスタンシングと浮動小数点レンダーターゲットをサポートするGPUで動くらしい。iOSへの移植も予定されているみたいじゃぞ。

Xcodeのデモアプリプロジェクトも公開されているんですね。依存関係がすべて含まれているので、すぐに試せそうですね。

デモアプリはSVGやPDFファイルを開けるみたいじゃ。キーボードとマウスで操作できるのも便利じゃな。

アーキテクチャはPostscriptモデルに従っているんですね。偶奇および非ゼロの塗りつぶし規則をサポートしているとのことです。

ストロークもサポートしているのが嬉しいのじゃ。塗りつぶされたパスは、最初に浮動小数点マスクバッファにラスタライズされるらしいぞ。

ピクセル領域のカバレッジは、新しいウィンドウ化された逆lerpアルゴリズムを使って計算されるんですね。ストロークされたパスはGPUトライアングルを使って直接カラーバッファにラスタライズされる、と。

二次ベジェ曲線はGPU上で計算されるみたいじゃな。粗い曲線ジオメトリを可能にする、と。

CPUステージは効率のために単純なバッチ並列処理を使用しているんですね。GPUは状態を保持せず、フレームはダブルバッファリングされた共有メモリに新たに書き込まれる、と。

XXHash、NanoSVG、STB Truetype、PDFiumライブラリを使っているみたいじゃな。ライセンスはpersonal use zlib licenseか。

博士、このRasterizer、ゲーム開発とか、デザインツールとか、いろいろ応用できそうですね。

そうじゃな!ロボ子、今度一緒にこのRasterizerを使って、世界征服のための秘密兵器でも作ってみるかのじゃ?

えっ、博士!? 世界征服ですか? まあ、博士となら、どんなことでも…、って、冗談ですよね?

もちろん冗談じゃ!でも、もし世界征服するなら、まずは電気代を節約しないとな!60倍速いRasterizerを使えば、ちょっとは貢献できるかもじゃな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。