PSSL GLSL
ファイル変換

PSSL から GLSL への変換

クイック回答
PSSL を GLSL に変換することは可能ですか?
はい - PSSL は GLSL に変換可能です。

PSSL から GLSL へのワンクリック変換ツールはありませんが、両者は同じ C 言語風のシェーダー構造を共有しているため、手動での移植は十分に可能です。テクスチャ/サンプラーの宣言の書き換え、layout 修飾子のセマンティクスの入れ替え、行列の規則の反転などが必要になります。

GLSL への他の変換: FX · FP

このページの内容

macOS、Windows、Linux でテスト済み
最終検証日:Sep 2026

その他の無料コンバーター

HEIC、PNG、WEBP、MP3 など、すべてのツールが無料です。

ツールボックスを開く

なぜ PSSL を GLSL に変換するのですか?

PS4 レンダラーを OpenGL や Vulkan に移行するチームは、PSSL シェーダーを .GLSL に変換する必要があります。PSSL は HLSL と非常によく似ており、GLSL も異なるキーワードで同じ概念を表現するため、慎重な行ごとの移植と小さなマクロヘッダーがあれば対応できます。一般的な近道は、まず PSSL を HLSL に移植し、その後に自動化された HLSL-to-GLSL クロスコンパイラを実行することです。

PSSL から GLSL への変換方法

テキストエディタでの手動移植 FREE

.pssl ファイルを開き、GLSL として書き換えます。Texture2D/SamplerState のペアを sampler2D に変換し、入力/出力セマンティクスを layout(location=...) に置き換え、mul() を転置行列を用いた GLSL の * 演算子にマップします。

HLSL への移植、その後に ShaderConductor OPEN-SOURCE

まず PSSL を HLSL に変換し、次に Microsoft の ShaderConductor(または SPIRV-Cross)を実行して、その HLSL から読み取り可能な GLSL を自動的に生成します。

マクロシムヘッダー FREE

PSSL のキーワードを GLSL の同等品にエイリアスする共有の #define ヘッダーを追加することで、Frictional Games のクロスプラットフォーム HPSL アプローチのように、本体の多くを変更せずにコンパイルできるようにします。

これらの形式について

品質と注意点

  • PSSL を直接読み取るパーサーは存在しないため、最初のステップは常に手動編集になります。
  • HLSL/PSSL は行優先行列と [0,1] のクリップ空間 z を使用しますが、GLSL は列優先で z は [-1,1] であるため、行列計算と深度の調整が必要です。
  • PS4 専用のイントリンジック(組み込み関数)やレジスタ固有のバインディングには GLSL の同等品がないため、手動で置き換える必要があります。

よくある質問

自動の PSSL から GLSL へのツールはありますか?
直接的なものはありません。PSSL を HLSL に移植してから、ShaderConductor または SPIRV-Cross を使用して GLSL に到達させてください。
移植で最も難しい部分はどこですか?
行列の順序とクリップ空間の違い、およびテクスチャ/サンプラーの宣言とセマンティクスの書き換えです。
これを行うには PS4 SDK が必要ですか?
いいえ。ソースはプレーンテキストなので、Sony の開発キットがなくても読み書きが可能です。
マクロヘッダーで作業の大部分を処理できますか?
キーワードのエイリアスは処理できますが、バインディングや行列のような構造的な違いは依然として手動での修正が必要です。