特徴|スクリーンショット|はじめに|インストール|建物| Changelog
GLSLおよびHLSLシェーダーの軽量エディター、およびGPUベースのアルゴリズムを開発するための完全に機能するIDE。
Qt6Multimediaで構築された場合のみ)。

開始するには、ヘルプメニューのサンプルセッションを開いて遊ぶことができます。
シェーダーを試すために、セッションでは、プログラムが動作するはずのパイプライン状態およびデータとともに、抽選および計算コールを定義できます。
セッションメニューまたはコンテキストメニューのアイテムを入力できます。元に戻す/やり直し、コピー/貼り付け、ドラッグ/ドロップは、期待どおりに機能するはずです(複数のインスタンスの間)。テキストエディターとの間でアイテムをドラッグすることさえ可能です(JSONとしてシリアル化されています)。
サンプルセッションは、テンプレートとして使用することもできます - セッションを保存します...すべての依存関係を新しい場所にコピーします。
セッションは、アニメーションについて、関連するものが[F7]または着実に[F8]が変更されるたびに、手動で[F6]を自動的に評価できます。最後の評価に貢献したすべての項目が強調表示されます。
セッションの項目は、OpenGLアプリケーションを作成することから知られている概念にほとんど対応しています。
コール- 最も顕著に抽選とコンピューティングコールがあります。セッションが評価されるたびに、すべてのアクティブコールは連続して評価されます。チェックボックスを使用して、//アクティブ化できます。各呼び出しの経過時間は、メッセージウィンドウ(GPUタイマークエリを使用して測定)に出力されます。
プログラム- 1つまたは複数のシェーダーで構成されており、それらはリンクされているため、抽選または計算コールで使用できます。
テクスチャ- あらゆる種類の色、深さ、またはステンシルテクスチャを作成できます。それらは、サンプルソース、画像内および出力、およびターゲットの添付ファイルとして機能します。それらはファイルで裏打ちできます。
ターゲット- 描画コールがレンダリングする場所を指定します。複数の画像を添付できます。添付の画像のタイプに応じて、異なるレンダリング状態を構成できます。
バインディング- データをプログラムのユニフォーム、サンプラー、画像、バッファーにバインドできます。結合は、同じ名前のバインディングまたはスコープが終了するまで置き換えるまで、その後のすべての呼び出しに影響します(グループを参照)。バインディングの名前は、プログラムのバインディングポイントの名前と一致する必要があります。
バッファー- バッファブロックは、バイナリ内の領域の構造を定義します。それらは、いくつかのデータ型の複数のフィールドを持つ行で構成されています。バッファーはバイナリファイルでバックアップできます。
ストリーム- 頂点シェーダーの入力として機能します。ストリームは複数の属性で構成されており、参照されたバッファブロックからデータを取得します。
グループ- より複雑なセッションを構築できます。インラインスコープがチェックされない限り、新しいスコープを開きます。スコープ内のアイテムは、スコープ外のアイテムに対しては表示されません(コンボボックスには表示されません)。
スクリプト- スクリプトファイルのJavaScript関数と変数を定義できます。これは、均一な結合式で使用できます。スクリプトを使用して、セッションを動的に設定し、バッファとテクスチャデータを生成することもできます。セッション全体に1つのJavaScript状態があり、スクリプトは連続して評価されます(グループスコープには効果がありません)。
最新のビルドをAURからインストールできます。
ポータブルビルドは、最新リリースページからダウンロードできます。
C ++ 20適合コンパイラが必要です。 Cmakeビルドシステムのスクリプトが提供されます。これは、VCPKGなどのパッケージマネージャーまたは他の手段でインストールできる次のライブラリに依存します。
# install dependencies
sudo apt install build-essential git cmake qtdeclarative6-dev libdrm-dev pkg-config libxcb * -dev libx11-dev libxrandr-dev
# check out source
git clone --recurse-submodules https://github.com/houmain/gpupad
cd gpupad
# install vcpkg
git clone --depth=1 https://github.com/microsoft/vcpkg.git
vcpkg/bootstrap-vcpkg.sh
# install additional dependencies using vcpkg
vcpkg/vcpkg install vulkan " ktx[vulkan] " glslang spirv-cross vulkan-memory-allocator spdlog
# build
cmake -B build -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build -j8 # install Qt6
# https://doc.qt.io/qt-6/get-and-install-qt.html
# check out source
git clone --recurse-submodules https://github.com/houmain/gpupad
cd gpupad
# install vcpkg
git clone --depth=1 https://github.com/microsoft/vcpkg.git
vcpkg b ootstrap-vcpkg
# install dependencies using vcpkg
vcpkg v cpkg install vulkan " ktx[vulkan] " glslang spirv-cross vulkan-memory-allocator spdlog
# build
cmake -B build -DCMAKE_PREFIX_PATH=C: Q t 6 .7.2 m svc2022_64 -DCMAKE_TOOLCHAIN_FILE=vcpkg s cripts b uildsystems v cpkg.cmake
cmake --build build -j8GPUPADはGNU GPLV3の下でリリースされます。ライセンスの詳細については、 LICENSEご覧ください。