2

cg/hlsl ハイブリッド シェーダーを glsl es シェーダーに変換できるツールを探しています。実行可能な hlsl キーワードですが、キーワード「extern」を理解しない hlsl2glsl を試しましたが、cgc を調べましたが、glsl es のコンパイル方法に関するドキュメントは見つかりませんでした。

ありがとう

4

2 に答える 2

3

古い質問ですが、とにかくこの回答を提供します。

[合法的に] Unity を対象とした優れた CG シェーダー コードを適切に使用したいと考えているときに、これに出会いました ;-)

Githubの CG-shader-to-GLSL-shader Python 変換スクリプト ' cg2glsl.py ' を見てください (ほとんどの OS でサポートされている、パッケージcgc内にあるコマンドが必要です。nvidia-cg-toolkit

その使用法は、「 cg シェーダーからの変換 」で簡単に概説されています。

Tomaka17 の CG-to-GLSL 関連のブログ投稿「Cg を GLSL に変換し、コードを使用する」からの引用

Cg は nVidia が開発したシェーディング言語です。基本的に、すべてのシェーダーを Cg で記述します....Cg は実際にコードを API 固有の言語にコンパイルします。

Tomaka17の例では、彼は C++ を使用して nVidia の CG ライブラリ呼び出しをインターセプトし、コンパイルされた GLSL コードを抽出します。これは、 cg2glsl.pyが行うことと概念的に同じであると思います (ただし、Python を使用してコードをコンパイルする必要はありません)。 )。

于 2013-11-12T11:31:58.153 に答える
2

cgc ファイル名 -profile glslv/glslf

ただし、glsl es の presecion を追加する必要があります。cg コンパイラはこれを行いません。

于 2013-06-13T12:17:16.967 に答える