SDLがHDR10レンダリングに移行:フリーゲームも本物のHDRを目指せるように

Dev & Code 3 h agoブックマークに追加

Dev & Code

SDLライブラリ(Simple DirectMedia Layer)は、HDR10レンダリングを統合しました。このライブラリに依存するオープンソースエンジンやインディーゲーム開発者にとって重要な一歩です。

具体例

2D/3Dゲームエンジンを維持していると想像してください - 例えば、プロジェクトのSDLポート、エミュレータ、Steam Deck用のインディーゲームなどです。これまで、HDR10(High Dynamic Range 10ビット)の信号をHDR10に対応したディスプレイに出力したい場合、低レベルのバックエンド(Windows側のDXGI、Linux側のEGL/Wayland)を経由し、色彩管理を自分で行う必要がありました。それは終わりです - HDR10レンダリングが公式にSDLに到達しました。SDLは、Valve Sourceからホームポートまで、数十万のプロジェクトで使用されているマルチメディアブロックです。

この作業は、Sam Lantinga(Valveのエンジニア、SDLの歴史的なメンテナ)によってアップストリームにマージされました - これは些細なことではありません:同じ人物が同時に低レベルブロックとSteam Deckの統合に署名し、実際の条件下でテストされることを保証します。

SDL(Simple DirectMedia Layer)は、開発者に対して、ウィンドウ、入力、オーディオ、グラフィックレンダリングへの一様なアクセスを提供する抽象化層です。Steam、Proton、インディーゲームの多く、そして多くのエミュレータ(RetroArch、PPSSPP、Dolphin)がこれに依存しています。

背景

HDR10は、以下の要件を同時に課します:

  • 10ビットの色チャンネル(8ビットではなく)、通常はR10G10B10A2
  • BT.2020の色空間(sRGBよりもはるかに広い)。
  • PQ(Perceptual Quantizer、SMPTE ST 2084)の転送関数の代わりにsRGBガンマ。
  • 静的HDRメタデータ(MaxCLL、MaxFALL)をディスプレイに伝送。

SDL側の統合は、したがって、以下を公開する必要があります:

  1. 適切なフォーマットと適切な色空間を持つスワップチェーンの作成。
  2. HDRメタデータをコンポジタ/DisplayPort/HDMI出力に宣言するためのAPI。
  3. 10ビットの精度を保持するコンポジティングパス(内部のシェーダーとブレンドは8ビットに戻ってはなりません)。

開発者にとって具体的に変わることは、HDRはレンダリングの作成時のフラグであり、ネイティブAPIを介したパイプライン全体の再記述ではなくなります。

なぜ自由なエコシステムにとって重要なのか

HDRは長い間、プロプライエタリエンジン(Unreal、Unity、AAA編集者の内部エンジン)の専売特許でした。自由な側では、各プロジェクトが自分の隅で統合を再発明したり、無視したりしていました。SDLにHDR10をアップストリームでサポートすることで:

  • SDLを使用するインディーゲームは、過剰な統合努力なしにHDRを有効にできます。
  • エミュレータは、トーンマッピングされた現代のゲームでHDR出力できます。
  • 自由なゲームエンジン(Godotは一部のプラットフォームでSDLに依存しており、特にSDL_gpuと入力を介して)はブロックを利用できます。
  • Steam Deck OLEDと将来のHDRディスプレイ搭載ハンドヘルドは、ネイティブパスを得ます。

これは、発表するには「セクシー」ではない機能ですが、1年間のポートと視覚的なアップデートを解除します。

残りの作業

HDR10は「基本」フォーマットです。拡張機能はまだ残っています:

  • HDR10+Dolby Vision(動的メタデータ) - この統合には含まれていません。
  • Wayland側のHDRサポート - コンポジタ(Mutter、KWin、Sway)のサポートに依存します。
  • 校正ツール - 理想的には、HDRを有効にするゲームはパターンを提供する必要があります。

覚えておくべきこと

  • SDLは現在、HDR10をアップストリームでサポートしています(Sam Lantinga、Valveによるマージ):10ビット + BT.2020 + PQのために抽象化から出る必要はありません。
  • 自由/インディーシーン(エンジン、エミュレータ、ポート)に恩恵をもたらします。
  • 動的HDR(HDR10+/Dolby Vision)は、現在の範囲外です。
リソース

本記事は人工知能により作成され、人間の編集管理のもとで校閲されています。

編集部について
この記事は役に立ちましたか?

14 人がこの記事を評価しました

いいね
K
Kaito Kuroganeシニア開発者
シニア多才な開発者、バックエンドGo + フロントエンドTS、オープンソース貢献者
シェア:
LIVERadio Geek Kitsune
タップして再生、みんなで同じ音を
0··
// 番組表
// 全ステーション
// 楽曲を共有する →
テーマ
探索
インフォメーション