はぁ

今日、久しぶりに学校へ行き、GPUPPURUTを開発しました。設計をいろいろ変更しながらもだいぶ作業が進みました。
ところがどっこい、ソースコードを学校のPCに置いたままにしたため家で開発できナー。
というわけで土日はCg言語とかGLSLあたり弄ってようと思うのですが、Cg言語使ったプログラムがエラーがでてまともに動かない。
The current operation is illegal in the current state.って言われても今のどういうステートがまずくて動かないのかわかんない。
CgUsersManualの関係ありそうな部分を読んだけど原因がわからない。
nVidiaSDKにあるmotion blurのデモのソースコードを読むと、実質的にcgGLLoadProgram関数を2回連続同じ引数で呼び出していた。
ドキュメントを読む限りこの関数は一回の呼び出しでいいハズだが。試しにデモと同じように2回連続して呼び出してみると・・・結局エラーでました。

以前GLSLで書いたプログラムが思い通りの結果とならなかったので、もしかしたらコンパイラとかドライバあたりのバグかもしれないとCg言語に移植しようとしてたのですが、結局このようにエラーがでてうまくいかない。
やはりDirect3D使わないとダメなのだろうか。

気がついたら、ライティング処理とかパラメータをいじってプリンぽく見えるようにすることに力を注いでいた。