GLSL と CG ツールキットは私のニーズにはまったく不十分であり、私の唯一の選択肢は独自のコンパイラを作成することです。基本的に、スクリプトから自分で構築できるように、バイナリ シェーダー構造の図が必要です。
編集:私が探しているのは、arbアセンブリのバイナリ構造だと思います。
GLSL と CG ツールキットは私のニーズにはまったく不十分であり、私の唯一の選択肢は独自のコンパイラを作成することです。基本的に、スクリプトから自分で構築できるように、バイナリ シェーダー構造の図が必要です。
編集:私が探しているのは、arbアセンブリのバイナリ構造だと思います。
独自のopenglシェーダーコンパイラを構築するにはどうすればよいですか?
あなたはそうしない。少なくとも、あなたが言っている方法ではありません。
OpenGLは、バイナリまたはアセンブリ交換形式を定義していません。OpenGL自体は、GLSLをオブジェクトに直接コンパイルします。また、バイナリデータをクエリすることはできますが、OpenGLは、そのバイナリデータが実際に何を格納するかを説明する手段を提供していません。実装に依存します。NVIDIAとAMDは異なる情報を保存し、それはIntelが保存するものとは異なります。ハードウェアの世代ごとに変わります。などなど。
GLSLを生成するコンパイラを作成できます。しかし、それはそれについてです。
NVIDIAを使い続ける気があるなら、彼らはARBアセンブリ言語を最新の状態に保つことに長けています。しかし、明らかに、そのようなコードはNVIDIAのみです。