Rust GPU、Rustでシェーダーを開発するためのツールのセット

ゲーム開発会社 EmbarkStudiosは最初の実験的リリースをリリースしました プロジェクトの さびGPU、 Rust言語を使用することを目的としています GPUコードを開発します。 

Rustを使いたいという願望 GPU用のプログラムを書く 安全機能と高性能だけでなく、 また、開発プロセスの効率を向上させるために、パッケージやモジュールを操作するための最新のツールを入手する必要もあります。

RustGPU開発会社EmbarkStudios ゲームエンジンにもRustを使用 また、CPUとGPU間のRustコードの交換を容易にするために機能しています。

彼らによると、 歴史的に、ゲームでは、GPUプログラミングはHLSLを書くことによって行われてきました または、程度は低いですが、GLSLです。 これらは、何年にもわたってレンダリングAPIとともに進化してきた単純なプログラミング言語です。

ただし、ゲームエンジンが進化するにつれて、これらの言語は大規模なコードベースを処理するためのメカニズムを提供していません。 他のプログラミング言語に比べて遅れています。

一般に、両方の言語に適した代替手段がありますが、どちらもHLSLまたはGLSLに代わるものではありません。

プロバイダーによってブロックされているか、サポートされていないため 従来のグラフィックパイプラインを使用します。 この例には、CUDAやOpenCLが含まれます。 そして、この分野で言語を作成する試みがなされてきましたが、gamedevコミュニティで目立った注目を集めているものはありません。

Rust GPUは、RLSLプロジェクトからアイデアを開発し続けています、SPIR-V汎用シェーダー中間体へのRustコンパイラーの作成が試みられました。これは、Vulkan APIで提案され、OpenGL4.6でサポートされています。

開発の現在の段階では、Rust GPUを使用すると、単純なグラフィカルシェーダーを実行し、Rustの基本的な標準ライブラリの大部分をコンパイルできます。 同時に、プロジェクトはまだ広く使用できる状態にはほど遠いです。たとえば、ループはまだシェーダーでサポートされていません。

Embarkでは、Rustで独自のゲームエンジンをゼロから構築してきました。 RLSLプロトタイプの社内開発の経験があり、ゲーム、ゲームエンジン、その他の業界の両方から、今日のシェーダー言語の問題に精通している優れたレンダリングエンジニアのチームがいます。 したがって、私たちはこの問題を解決しようとする独自の立場にあると信じています。

私たちは、単一の優れた言語で自社開発を合理化し、オープンソースのグラフィックコミュニティとエコシステムを構築し、GPUとCPU間のコード共有を促進し、そして最も重要なこととして、(将来の)ユーザーと仲間の開発者を可能にしたいと考えています。より迅速に魅力的で魅力的な体験を作成します。

Rust言語のコードに基づいて、SPIR-Vシェーダーの表現が形成され、その生成のために、表現にコンパイルするために使用されるクレーンリフトコードジェネレーターと同様に機能するRustコンパイラーの特別なバックエンドが開発されました。 WebAssembly。

現在のアプローチは、VulkanグラフィックAPIおよびSPIR-Vビューをサポートすることです。 ただし、ジェネレーターは、DXIL(DirectX)およびWGSL(WebGPU)シェーダービューの将来に向けて計画されています。 Cargoとcrates.ioに基づいて、SPIR-V形式のシェーダーを備えたパッケージを開発および公開するためのツールが開発されています。

最後に、このプロジェクトについて詳しく知りたい場合は、プロジェクトリポジトリで詳細を確認できます。 リンクはこちらです。

コードを知ることに興味がある人は、コードがMITおよびApache 2.0ライセンスの下で公開されており、入手可能であることを知っておく必要があります。 下のリンクから。

また、Linux、Windows、Macで作業できるように、開発者向けにすでに用意されているドキュメントを参照することもできます。 このリンクのガイドを参照してください。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   オートパイロット

    錆は離陸しますが、別の「致命的なスカラ」ではないことを願っています。