> とりあえずシェーダのコンパイル結果を確認してみてはどうでしょうか?
という事でやってみました。試行錯誤の結果、
「def命令が2個以上追加されると劇的に遅くなる」
事が分かりました。下記に実験に使ったコードを示します。
[ rgba.r = 0.fが無い時のアセンブリコード ]
ps_1_3
// def c0, 0, 0, 0, 0 // ※ 実験用定数 ( 実際には使わない )
// def c1, 0, 0, 0, 0 // ※ 実験用定数 ( 実際には使わない )
tex t0 // モデル表面の通常テクセル 取得
tex t1 // トゥーン陰影用のグレイスケールテクセル 取得
mul r0, t1, v0 // t1に 外部から指定された光源色v0を反映
mul r0, t0, r0 // 最終結果 取得
上記※行の両方を有効化した時に遅くなります。
即値0やレジスタ番号を変えていろいろな組み合わせを試しましたが、
それらは無関係でした。
今回の問題は「そういう物」として諦めます。どうもありがとうございました。
[この記事に返信する] [親記事表示] [一覧表示]