レンダリング

このページは自動翻訳されており、誤りが含まれる場合があります。誤りを見つけた場合は「このページを編集」リンクからご協力ください。

Turian は単一の SDL3-GPU レンダラー(Vulkan / Metal / D3D12)で 3D をレンダリングします。 このレンダラーはエディタのビューポート出荷されるゲームで共有されるため、 編集中に見たものがそのままゲームで描画されます:メタリックラフネス PBR、方向影マッピング、 法線マッピング、圧縮テクスチャ(BCn / KTX2)の直接サポート。

2つの小さなモジュール

レンダラーはエンジンに依存しないパッケージに分割されているため、エディタの UI ツールキットに結合されません:

  • gpu — SDL3 の GPU API 上の薄いウィンドウ + GPU デバイスプラットフォームレイヤー。OS ウィンドウ、デバイス、スワップチェーンを所有し、変換された SDL3 API とフレームごとのコマンドバッファを公開します。また、デバッグに便利なスクリーンショットヘルパー(テクスチャ読み戻し → TGA)も提供します。
  • renderシーンレンダラー:PBR パイプライン、シャドウパス、メッシュ/テクスチャアップロード、描画ループ。gpu とエンジンのシーン/アセット型に依存し、コールバックを介して GPU デバイス、カラーテャーゲット、シーンノード、アセットバイトを受け取ります——UI 依存関係はありません。

エディタは render に dvui のデバイスとオフスクリーンターゲットを提供し、ゲームは SDL ウィンドウのスワップチェーンを提供します。どちらも同じバイトソースシームを介して GUID でアセット(メッシュ、テクスチャ、マテリアル)を解決します——エディタでは調理済みの .cache から、ゲームではパッケージ化された .oap から。

ソフトウェアフォールバック

SDL3 GPU が利用できない場合(例:ヘッドレス CI)、ゲームは CPU ソフトウェアラスタライザーにフォールバックします。通常のビルドでは GPU パスがデフォルトです。

ライティング

1フレームあたり最大8つのライト(方向光 / 点光源 / スポットライト)がサポートされています。最初の影を投射する方向光が PCF シャドウマップを駆動します。メタルは環境プローブがない場合に黒くならないよう、環境スペキュラー項を取得します。Light および MeshRenderer コンポーネントについてはコンポーネントを、PBR マテリアルモデルについてはアセットとマテリアルを参照してください。


← すべてのドキュメント このページを編集