動的なリンクというと、複数のシェーダーバイナリをリンクし相互参照を解決するイメージがありますが・・違います。わかりやすく言えば「シェーダー内で関数ポインタが使えるようになった」ということ。インスタンス自体は静的に生成されており、単一のシェーダーバイナリにすべてのインスタンス及びエントリポイントが含まれていなければなりません。一つのシェーダープログラムの中に複数の関数を作成することが出来、その飛び先を動的に切換えることができるわけです。継承して作られています。経由して行われており、どのメソッドが呼び出されるのかコンパイル時にはわかりません。上に静的に作られています。参照することが出来ます。側でいつでも切換えられるわけです。ID3D11ClassLinkage::GetClassInstance()を使います。シェーダーと同時に使用するインスタンスのリストを渡します。宣言されている可能性があるので、必ずしも上のように単純になりません。呼び出しに対応するのか調べる必要があります。内のメモリ配置との対応付けも必要です。仕組みは、このようにパフォーマンスに影響が出ないよう慎重に作られているため扱いは必ずしも簡単ではないようです。完成したらある程度自動で行ってくれるようになるかもしれません。命令が使われています。用いてサブルーチン呼び出しを行う仕組みだと考えられます。l(1.000000,0,0,0)ret上記のように飛び先と種類はコンパイル時に決定しており、おそらく外部参照はできません。このことは次の例を見てもわかります。間接呼び出しを取り除きます。インライン展開されてしまいます。呼び出しはエラーとなります。color;」に書き換えればコンパイル可能です。以前のシェーダーにもサブルーチン呼び出しの機能自体は存在していました。コンパイラはすべてをインライン展開し尽くすので実際に使われることはほとんどありません。指定した場合だけでした。なってようやくシェーダー内のサブルーチン呼び出しが意味を持つようになりました。11:57:30)oga/遅くなりましたが情報ありがとうございます。