(Cg言語バインドイテレータ)が必要になります。なんか、Cg言語はSTL方面の方言が多いようです。詳細は、おいおい考えていくとして、とりあえず使ってみましょう。初期化ですが、黄色い部分が、頂点シェーダーでオレンジ色の部分がピクセルシェーダーです。多いように見えますが、コメントが多いです。いうか、コメントが面白いんですよ。コメントをはずすと、コンパイル結果をメモ帳で開いてくれます。いやー、最初見た時はほんとに驚きましたよ。あと、最適化が完全でないのもわかります。}具体的には、「LoadCGProgramFromFile」でファイルを読み込みます。次に、「GetParameterBindByName」で、Cgプログラム中の変数名の名前とイテレータを関係付けます。テクスチャーを指定するために、「GetTexturePosition」でテクスチャーのポインタが使えるような準備をします。要は、テクスチャーを使うのに、2つの関数がいるということです。これで、プログラムの外から引数として、パラメータを渡すことができるようになります。);で、シェーダープログラムを使用するように設定します。関数が不必要になって、その代わりに一般的な「SetShaderActive()」関数で使う宣言をします。将来的にシェーダープログラムを統合したり、テセレーション用シェーダーを考えてこうしてるんでしょうね。あと、違いは、「SetShaderConstant」で、イテレータを使って、変数を入れたり、「SetTexture」がイテレータ指定になっています。あとは、今までのプログラムがそのまま使えるので、楽勝でしょう。「高水準グラフィックプログラミング言語がでれば、今のレンダリングプログラミングの世界がかわりますよ(かなり意訳。おっしゃってられたので、早めに挑戦してみました。手続きは面倒くさいですが(慣れか?)、プログラム内で、変数が使えるのがいいですね。アセンブラからC言語に移ったように、こちらに流れは進むのでしょうね。もどるimagire@gmail.com。