0

GLSL と CG ツールキットは私のニーズにはまったく不十分であり、私の唯一の選択肢は独自のコンパイラを作成することです。基本的に、スクリプトから自分で構築できるように、バイナリ シェーダー構造の図が必要です。

編集:私が探しているのは、arbアセンブリのバイナリ構造だと思います。

4

1 に答える 1

3

独自のopenglシェーダーコンパイラを構築するにはどうすればよいですか?

あなたはそうしない。少なくとも、あなたが言っている方法ではありません。

OpenGLは、バイナリまたはアセンブリ交換形式を定義していません。OpenGL自体は、GLSLをオブジェクトに直接コンパイルします。また、バイナリデータをクエリすることはできますが、OpenGLは、そのバイナリデータが実際に何を格納するかを説明する手段を提供していません。実装に依存します。NVIDIAとAMDは異なる情報を保存し、それはIntelが保存するものとは異なります。ハードウェアの世代ごとに変わります。などなど。

GLSLを生成するコンパイラを作成できます。しかし、それはそれについてです。

NVIDIAを使い続ける気があるなら、彼らはARBアセンブリ言語を最新の状態に保つことに長けています。しかし、明らかに、そのようなコードはNVIDIAのみです。

于 2012-08-10T20:05:14.143 に答える